1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Analiza sieci w Pythonie – poziom średniozaawansowany

Connected

Cvičení

Lista grafów

W tej serii ćwiczeń użyjesz zbioru danych o wiadomościach wysyłanych na uczelni, aby nauczyć się filtrować grafy na potrzeby analizy szeregów czasowych. W tym zbiorze danych węzły reprezentują studentów, a krawędzie oznaczają wiadomości wysyłane między nimi. Aktualnie graf uwzględnia całą komunikację ze wszystkich punktów czasowych.

Zacznijmy od analizy grafów, w których wraz z upływem czasu zmieniają się tylko krawędzie.

Zbiór danych został wczytany do DataFrame o nazwie data. Możesz go swobodnie eksplorować w powłoce IPython. Przyjrzyj się w szczególności wynikom data['sender'] i data['recipient'].

Pokyny

100 XP
  • Zainicjuj pustą listę o nazwie Gs.
  • Użyj pętli for, aby iterować po months. Wewnątrz pętli:
    • Utwórz nowy graf nieskierowany o nazwie G, korzystając z funkcji nx.Graph().
    • Dodaj do grafu wszystkie węzły, które kiedykolwiek się w nim pojawiły. W tym celu wywołaj metodę .add_nodes_from() na G dwukrotnie – najpierw z argumentem data['sender'], a następnie z data['recipient'].
    • Przefiltruj DataFrame tak, aby zawierał dane tylko z danego miesiąca. Ten krok został już za ciebie wykonany.
    • Dodaj krawędzie z przefiltrowanego DataFrame. Użyj metody .add_edges_from(), przekazując df_filtered['sender'] i df_filtered['recipient'] do funkcji zip().
    • Dołącz G do listy grafów Gs.