使用NetworkX工具
1. 关于图的创建
使用 nx.Graph() 进行创建无向图,使用 nx.DiGraph() 来创建有向图。
2. 关于节点的增加、删除和查询
使用 G.add_node(‘A’) 添加一个节点,也可以使用G.add_nodes_from([‘B’,‘C’,‘D’,‘E’]) 添加节点集合。
删除节点,用 G.remove_node(node) 删除一个指定的节点,也可以用G.remove_nodes_from([‘B’,‘C’,‘D’,‘E’]) 删除集合中的节点。
图中所有的节点,用 G.nodes();也可以用G.number_of_nodes() 得到图中节点的个数。
3. 关于边的增加、删除、查询
增加边与添加节点的方式相同,使用 G.add_edge(“A”, “B”) 添加指定的“从 A 到B”的边,也可以使用 add_edges_from 函数从边集合中添加。也可以做一个加权图,使用 add_weighted_edges_from 函数从带有权重的边的集合中添加。在这个函数的参数中接收的是 1 个或多个三元组 [u,v,w] 作为参数,u、v、 w 分别代表起点、终点和权重。
用 remove_edge 函数和 remove_edges_from 函数删除指定边和从边集合中删除。
用 edges() 函数访问图中所有的边,使用 number_of_edges() 函数得到图中边的个数。
nx.pagerank(G) 这个函数运行PageRank算法,函数中的参数 G 代表创建好的图。
希拉里邮件PR分析
https://github.com/cystanford/PageRank