[英]networkx: Directed graph computes metrics for any edge
我有以下結構和長度的(定向)邊緣列表:
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
我只想基於項目計算網絡度量。 如何只顯示與項目相關的措施,或者僅顯示與捐助者相關的措施? networkx中是否有功能,還是我必須通過ID手動選擇?
您正在計算的指標(節點度)在計算上並不昂貴,因此我要做的是像您一樣計算所有指標,然后按如下所示手動對輸出數據進行子集化:
data.loc[fundedby.project.unique()]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.