python networkx包中的一些常用函数

从txt文件中读入有向图的函数1

nx.read_edgelist(path, comments=’#’, delimiter=None, create_using=None, nodetype=None, data=True, edgetype=None, encoding=‘utf-8’,)
create_using为创建的图的类型(有向图,无向图等)eg:

nx.read_edgelist('D:/code/try.txt', create_using = nx.DiGraph())
从txt文件中读入有向图的函数2

当要读取的文件中的数据并不是按节点一的名称,节点二的名称,权重这样的三列顺序排列的时候,而是中间还有一些其他的列,比如节点属性等。但只希望读入指定列的数据时,先将指定列读入为DataFrame结构的数据,再将其通过nx.from_pandas_edgelist读入为图

df = pd.read_csv(network_path,delimiter='\t',usecols=[0,3])
dg = nx.from_pandas_edgelist(df,'node1','node2')

df = pd.read_csv(network_path,delimiter='\t',names=['node1','node2'])
dg = nx.from_pandas_edgelist(df,'node1','node2')
dg = nx.DiGraph() 该有向图的一些属性

图中的节点和边

dg.nodes()	dg.edges()

节点的出度和入度

dg.out_degree(node)	dg.in_degree(node)
二分图的创建
B = nx.Graph()
B.add_nodes(list1, bipartite = 0)  #list1是二分图左边节点集,eg:list1=[1,5,6]
B.add_nodes(list2, bipartite = 1) #list2是二分图右边节点集
B.add_edges_from(list3) #list3是二分图连边列表,eg:list3=[(1,2),(2,3)]

无向图

图的基本特性

#所有节点的度
nx.degree(g)
#某个节点a的度
g.degree(a)
#图的平均聚集系数
nx.average_clustering(g)
#图中每个节点的聚集系数 返回值为字典,键为节点名称,值为聚集系数
nx.clustering(g)
#图中每个节点的介数中心性  返回值为字典
nx.betweenness_centrality(g)
#图的连通成分
nx.connected_components(g)
#图中的节点子集构成的图
nx.subgraph(g,nodes_sub_sets)
#最大连通子图
max_cc=max(nx.connected_components(g),key=len) #返回的是最大连通子图中的节点的集合

后面再继续补充。

  • 2
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值