图基本知识代码

图基本知识代码

前导知识

【图基本知识】

导包

import numpy as np
import pandas as pd
import networkx as nx

建边

edges = pd.DataFrame()
edges['sources'] = [1,1,1,2,2,3,3,4,4,5,5,5] # 起点
edges['targets'] = [2,4,5,3,1,2,5,1,5,1,3,4] # 终点
edges['weights'] = [1,1,1,1,1,1,1,1,1,1,1,1] # 权重

创建图

G = nx.from_pandas_edgelist(edges,source='sources',target='targets',edge_attr='weights')

基本操作

# degree
print(nx.degree(G))

# 连通分量
print(list(nx.connected_components(G)))

# 图直径
print(nx.diameter(G))

# 度中心性
print(nx.degree_centrality(G))

# 特征向量中心性
print(nx.eigenvector_centrality(G))

# 中介中心性
print(nx.betweenness_centrality(G))

# 接近中心性
print(nx.closeness_centrality(G))

# PageRank算法
print(nx.pagerank(G))

# HITS算法
print(nx.hits(G))

输出

degree:
[(1, 3), (2, 2), (4, 2), (5, 3), (3, 2)]
connected_components:
[{1, 2, 3, 4, 5}]
diameter:
2
degree_centrality:
{1: 0.75, 2: 0.5, 4: 0.5, 5: 0.75, 3: 0.5}
eigenvector_centrality:
{1: 0.5298988890761731, 2: 0.35775191431708964, 4: 0.4271316779596084, 5: 0.5298988890761731, 3: 0.35775191431708964}
betweenness_centrality:
{1: 0.25, 2: 0.08333333333333333, 4: 0.0, 5: 0.25, 3: 0.08333333333333333}
closeness_centrality:
{1: 0.8, 2: 0.6666666666666666, 4: 0.6666666666666666, 5: 0.8, 3: 0.6666666666666666}
pagerank:
{1: 0.24369622576677993, 2: 0.1722562971205864, 4: 0.16809495422526696, 5: 0.24369622576677993, 3: 0.1722562971205864}
hits:
({1: 0.24059715204600787, 2: 0.16243456471667692, 4: 0.19393656647463045, 5: 0.2405971520460078, 3: 0.162434564716677}, {1: 0.2405971520460078, 2: 0.16243456471667703, 4: 0.19393656647463045, 5: 0.2405971520460079, 3: 0.1624345647166769})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DeeGLMath

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值