赞
踩
# -*- encoding: utf-8 -*- # @time: 2022/2/10 12:51 # @author: chenTao # @file: Graph_basic.py 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)) #度中心性 = (N_degree)/(n-1);n图中结点数量 print(nx.degree_centrality(G)) #特征向量中心性 A*x= 入*x #第一,按照公式求出特征值和特征向量, 选择具有最大特征值对应的特征向量 # 该特征向量对应的每个值就是对应节点的特征向量中心性 print(nx.eigenvector_centrality(G)) # 中介中心性 betweenness = (经过该节点的最短路径的条数之和 )/(其余两两节点的最短路径 ) #分母不是最短路径而是其余两两节点的组合情况,比如A到其余四个节点四种组合,一共有五个这样的节点 就是四乘五 print(nx.betweenness_centrality(G)) #closeness print(nx.closeness_centrality(G)) #pagerank print(nx.pagerank(G)) #HITS print(nx.hits(G))
注:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。