簡體   English   中英

networkx:有向圖計算任意邊的度量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM