我有以下结构和长度的(定向)边缘列表:
project donor
0 10061 119679
1 10079 120231
2 10102 121147
...
428 11456 120231
然后,我使用以下脚本来计算度量:
import networkx as nx
G = nx.from_pandas_edgelist(fundedby, source='donor', target='project', create_using=nx.DiGraph())
data = pd.DataFrame(dict(
Degree = dict(G.degree),
In_Degree = dict(G.in_degree),
Out_Degree = dict(G.out_degree)
))
但是,我的最终表不仅计算“项目”中项目的度量,而且还计算“捐助者”(注意:没有通用编号/标识):
Degree In_Degree Out_Degree
10061 17 17 0
10062 5 5 0
10063 7 7 0
...
120231 2 0 2
120232 1 0 1
119679 1 0 1
我只想基于 project 计算网络度量。如何只显示与项目相关的措施,或者仅显示与捐助者相关的措施? networkx中是否有功能,还是我必须通过id手动选择?
答案 0 :(得分:1)
您正在计算的指标(节点度数)在计算上并不昂贵,所以我要做的是像您一样计算所有指标,然后按如下所示手动对输出数据进行子集化:
var _price : [Int] = []
var prices: [Int] = []