Tạo đồ thị từ pandas DataFrame
Hãy bắt đầu bằng cách tạo một đồ thị từ một pandas DataFrame. Trong bài tập này, bạn sẽ tạo một đồ thị hai phía (bipartite) mới bằng cách lặp qua edgelist (một đối tượng DataFrame).
Để đơn giản, trong quy trình xây dựng đồ thị này, bất kỳ cạnh nào giữa một sinh viên và một node diễn đàn sẽ là cạnh 'cuối cùng' (theo thời gian) mà sinh viên đó đã đăng lên diễn đàn trong toàn bộ khoảng thời gian của tập dữ liệu, dù vẫn có cách xử lý khác.
Ngoài ra, để rút ngắn thời gian chạy của bài, chúng tôi đã cung cấp một phiên bản mẫu con của danh sách cạnh dưới tên data. Hãy khám phá nó trong IPython Shell để làm quen với dữ liệu.
Bài tập này là một phần của khóa học
Phân tích mạng nâng cao với Python
Hướng dẫn bài tập
- Khởi tạo một Graph mới tên là
G. - Thêm các node từ mỗi phần. Dùng phương thức
.add_nodes_from()để thực hiện. Hai phần là"student"và"forum". Ví dụ, để thêm các node từ phần"student", các đối số cho.add_nodes_from()sẽ làdata['student']vàbipartite='student'. - Thêm từng cạnh kèm theo ngày cạnh được tạo. Để làm điều này, dùng phương thức
.add_edge()bên trong vòng lặp, với các đối sốd['student'],d['forum'], vàdate=d['date'].
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
import networkx as nx
# Instantiate a new Graph: G
G = ____
# Add nodes from each of the partitions
____
____
# Add in each edge along with the date the edge was created
for r, d in data.iterrows():
____