1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Phân tích mạng nâng cao với Python

Connected

Bài tập

Danh sách các đồ thị

Trong bộ bài tập này, bạn sẽ dùng một bộ dữ liệu tin nhắn trong trường đại học để học cách lọc đồ thị phục vụ phân tích chuỗi thời gian. Trong bộ dữ liệu này, các nút là sinh viên, và các cạnh biểu thị tin nhắn được gửi từ một sinh viên đến sinh viên khác. Đồ thị hiện tại ghi nhận mọi liên lạc ở mọi thời điểm.

Hãy bắt đầu bằng cách phân tích các đồ thị mà chỉ có các cạnh thay đổi theo thời gian.

Bộ dữ liệu đã được nạp vào một DataFrame tên là data. Bạn có thể khám phá nó trong IPython Shell. Cụ thể, hãy xem đầu ra của data['sender'] và data['recipient'].

Hướng dẫn

100 XP
  • Khởi tạo một list rỗng tên Gs.
  • Dùng vòng lặp for để lặp qua months. Bên trong vòng lặp:
    • Tạo một đồ thị vô hướng mới tên G bằng hàm nx.Graph().
    • Thêm tất cả các nút từng xuất hiện vào đồ thị. Để làm điều này, dùng phương thức .add_nodes_from() trên G hai lần: lần đầu với đối số data['sender'], và lần sau với data['recipient'].
    • Lọc DataFrame để chỉ còn tháng đã cho. Phần này đã được thực hiện sẵn cho bạn.
    • Thêm các cạnh từ DataFrame đã lọc. Để làm điều này, dùng phương thức .add_edges_from() với df_filtered['sender'] và df_filtered['recipient'] truyền vào zip().
    • Thêm G vào danh sách đồ thị Gs bằng .append().