使用python进行社交网络分析

时间:2019-03-08 03:38:30

标签: python graph-theory sna

我有两个csv文件。 names.csv包含人员及其对应节点的名称,nodelinks.csv文件包含节点(人员)之间的链接权重。 nodelinks.csv包含有关一个人打给别人多少次(以“体重”列表示多少次)的信息。

我想创建一个根据网络中的领导者,关注者,边缘,离群值和桥梁分为子网的网络。

enter image description here

enter image description here

我搜索了Internet,然后在python中找到了networkx库。所以我尝试使用networkx,它给了我整个网络的输出,但是它是非常聚集的,即在输出中相互绘制节点。我想获得一个易于理解的网络输出,并且我想找出该网络中的子网,领导者,关注者,边缘,离群值和桥梁。

到目前为止我已经尝试过的

import pandas as pd
import networkx as nx
import matplotlib.pyplot as plt
df = pd.read_csv('Nodelinks.csv')
df.columns = ['Source', 'Destination', 'Link']
df.head()
graph = nx.from_pandas_edgelist(df, source = 'Source', target = 
'Destination', edge_attr = 'Link',create_using = nx.DiGraph())
plt.figure(figsize = (10,9))
nx.draw(graph, node_size=1200, node_color='lightblue',
linewidths=0.25, font_size=10, font_weight='bold', with_labels=True, 
dpi=1000)
plt.show()

使用pip或conda安装networkx库。 我尝试使用pip,但显示错误。我尝试使用conda进行安装,并且有效。

The dataset and jupyter notebook is uploaded on mega.

我不知道接下来应该如何获得所需的输出。另外,还有其他方法可以解决这个话题吗?(如果有的话,最好是更简单的方法)

0 个答案:

没有答案