从原始数据一步步得到合作网络之后,需要计算一些网络指标才能的到一些有意义的分析结论。
networkx是python中常用的社会网络分析包,里面支持各种图以及非常多指标计算函数。
官网: https://networkx.org
中文网站: https://www.osgeo.cn/networkx/index.html

接下来是由合作网络中的边作为原始数据,计算各种网络指标的一个简单示例。
包括: 生成网络图、计算指标、提取计算结果、存储 五个基本步骤。有更多、更复杂的需求也都可以在这个框架基础上进行二次开发。

#* 随便编的原始数据
edges = [['a','b',2],
        ['a','c',1],
        ['a','d',2],
        ['b','d',3],
        ['c','d',2]]
#* 生成网络图
G = nx.Graph()  # 创建一个图
G.add_weighted_edges_from(edges)  # 添加合作关系
#* 计算指标
centrality = [nx.degree_centrality(G), # 这些函数的返回值是字典
                nx.closeness_centrality(G),
                nx.betweenness_centrality(G),
                nx.clustering(G),
                nx.eigenvector_centrality(G)] 
average_shortest_path = nx.average_shortest_path_length(G, weight='weight') # 这个函数的返回值是浮点值
#* 提取计算结果
results = []
nodes = G.nodes()  # 提取网络中节点列表 ['a', 'b', 'c', 'd']
for node in nodes:  # 遍历所有节点,提取每个节点度中心性计算结果,并存储为[[节点1,结果],[节点2,结果],...]的形式
    results.append([node, 
    				centrality[0][node], 
    				centrality[1][node], 
    				centrality[2][node], 
    				centrality[3][node], 
    				centrality[4][node]])
#* 存储
with open("./test.csv","w",encoding="UTF-8",newline="") as csvfile: 		writer = csv.writer(csvfile)  	
        writer.writerow(['node','degree','closeness','betweenness','clustering','eigenvector'])
        writer.writerows(results)
        writer.writerow(['average_shortest_path={}'.format(average_shortest_path)])
P.S. 再记录一下数shortest_path系列的另两个函数

shortest_path()返回最短路径
shortest_path_length()返回最短路径长度

# 返回值是一个字典
shortest_path = dict(nx.shortest_path(G, weight='weight')) 
# 返回值是一个迭代器iterator
shortest_path_length = dict(nx.shortest_path_length(G, weight='weight')) 
print(shortest_path,'\n',shortest_path_length)
shortest_path: 
{'a': {'a': ['a'], 'b': ['a', 'b'], 'c': ['a', 'c'], 'd': ['a', 'd']}, 'b': {'b': ['b'], 'a': ['b', 'a'], 'd': ['b', 'd'], 'c': ['b', 'a', 'c']}, 'c': {'c': ['c'], 'a': ['c', 'a'], 'd': ['c', 'd'], 'b': ['c', 'a', 'b']}, 'd': {'d': ['d'], 'a': ['d', 'a'], 'b': ['d', 'b'], 'c': ['d', 'c']}} 
shortest_path_length: 
{'a': {'a': 0, 'c': 1, 'b': 2, 'd': 2}, 'b': {'b': 0, 'a': 2, 'd': 3, 'c': 3}, 'c': {'c': 0, 'a': 1, 'd': 2, 'b': 3}, 'd': {'d': 0, 'a': 2, 'c': 2, 'b': 3}}
                    从原始数据一步步得到合作网络之后,需要计算一些网络指标才能的到一些有意义的分析结论。networkx是python中常用的社会网络分析包,里面支持各种图以及非常多指标计算函数。官网:https://networkx.org中文网站:https://www.osgeo.cn/networkx/index.html案例接下来是由合作网络中的边作为原始数据,计算各种网络指标的一个简单示例。包括:生成网络图、计算指标、提取计算结果、存储五个基本步骤。有更多、更复杂的需求也都可以在这个框架基础上进行二次开
				
好的,我会严格按照您提供的要求和约束,以《【AI大数据计算原理与代码实例讲解】图数据库》为题撰写一篇8000字以上的技术博客文章。以下是文章正文: 【AI大数据计算原理与代码实例讲解】图数据库 关键词:图数据库,图计算,大数据,AI,Neo4j,Gremlin,Cypher
1 社会网络分析经典文献 1.1 《Network Analysis in the Social Science》 这篇文章于2009年发表在《Science》,详细了地介绍了如何利用社会网络解决实际问题。 1.2《.一国农产品贸易网络特征及其对全球价值链分工的影响——基于社会网络分析视角》1 该文对农产品贸易网络特征及其全球价值链冯影响进行了分析。社会网络分析很适合分析关系型数据。 [1]马述忠,任婉婉,吴国杰.一国农产品贸易网络特征及其对全球价值链分工的影响——基于社会网络分析视角[J].管理世界,2
去年和师兄一起做社交网络分析的时候发现了networkx这个python工具包,这个工具包对于图数据的 我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客: 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示; 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示; 全新的 KaTeX数学公式 语法; 一个具体的网络可抽象为一个由节点(vertex或node) 集合V和边(edge)集合E组成的图G = (V, E),节点数 记为n = |V|,边数记为m = |E|。 衡量指标 度(degree) 密度(density) 团(clique) 度中心性(degree centrali...
分析社交网络的首要方法是衡量网络中各节点的影响力和重要性。换句话说,我们要求的是,在社会网络中,谁是中心角色(具有影响力的用户) 在社会网络拓扑图中一般认为节点中连接边的数目(入度或出度)越多,该点在网络中便占据重要地位,当然这只是最简单的一种度量情况 下面简单的介绍下几种中心性的度量...
1.1图论基本概念 一个图G = (V, E)由一些点及点之间的连线(称为边)构成,V、E分别计G的点集合和边集合。在图的概念中,点的空间位置,边的区直长短都无关紧要,重要的是其中有几个点以及那些点之间有变相连。 图1:图示例 Graph分类 Graph:指无向图(undirected Graph),即忽略了两节点间边的方向。 DiGraph:指有向图(directed Graph),即考虑了边的有向性。 MultiGraph:指多重无向图,即两个结点之间的边数多于一条,又允
利用networkx计算社会网络中的各指标,包括中介中心度,邻近中心度、和度中心度。代码都是参考附录中的参考链接,经过修改之后包含数据的导入、建网络、画图、计算中心性指标,并且讲计算的中心性指标数据导出到excel表中。复杂的代码基本删除了,就不一一介绍了,直接附代码。 一、数据准备 节点表导入了csv文件(node test.csv) 边表导入了txt文件(2007 edge.txt) 二、导入csv、txt文件 代码如下: import csv with open('node test.cs
为方便数据和程序文件的移动,一般采用相对路径,可以使用“…/”的形式,但建议使用os.getcwd获取当前程序路径,进行路径拼接 origin_path = os.getcwd() # 获取当前文件夹下所有的文件的
一、中心性分析——权力的量化研究 目的:在什么意义上说一个行动者有权力?一个子群体有权力? 指标:点或群体的中心度(centrality)和网络的中心势(centralization)     “中心性”是社会网络分析的重点之一。个人或组织在其社会网络中具有怎样的权力,或者说居于怎样的中心地位,这一思想是社会网络分析者最早探讨的内容之一。个体的中心度(Centrality)测量个体