У меня есть набор данных csv с 2 столбцами user_a и user_b (всего 1900655 строк), каждая строка является соединением дружбы.
Для каждой пары пользователей, которые являются прямыми друзьями, край соединения не является ненаправленным
Столбец user_a содержит идентификатор пользователя.Столбец user_b содержит идентификатор друга user_a.
user_a,user_b
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
0,10
0,11
0,12
0,13
....
196584,196537
196585,196539
196586,196539
196587,196540
196588,196540
196589,196547
196590,196561
для поиска сетевых свойств: таких как распределение степеней, плотность, диаметр. Я использовал networkx, когда я запускаю следующий код, мне нужно только использовать python.
import inline
import matplotlib
import networkx as nx
import community
import matplotlib.pyplot as plt
#%matplotlib.inline
with open("user_social.csv","r") as inf:
next(inf, '') # skip a line
G = nx.read_edgelist(inf, delimiter=',', nodetype=int, encoding="utf-8")
#print nx.info(G)
print("Number of nodes in the graph")
print(len(G.nodes()))
print("Number of edges in the graph")
print(len(G.edges()))
print nx.diameter(G)
spring_pos = nx.spring_layout(G)
#plt.axis("off")
#nx.draw_networkx(G, pos = spring_pos, with_labels = False, node_size = 35)
plt.figure(figsize=(8,8))
plt.axis('off')
nx.draw_networkx_nodes(G, pos, node_size=600,node_color="blue",alpha=0.3)
nx.draw_networkx_edges(G, pos, alpha=0.3)
nx.draw_networkx_labels(G, pos)
plt.show(G)
он только показывает следующий результат
Number of nodes in the graph
196591
Number of edges in the graph
950327
, и его сохранение выполняется много часов без какого-либо другого графика или результата или любой ошибки.Я очень плохо знаком с Python и, возможно, я что-то пропустил в своем коде, так как я могу изменить свой код для вычисления распределения степеней, плотности, диаметра с помощью Python?