簡體   English   中英

python中的networkx從csv文件中讀取

[英]networkx in python reading from csv file

我在 csv 文件中有一個數據,其中包含以下數據:

    Origin  Destiny  Hours
0     Alat     Baku   1.08
1     Baku     Alat   1.13
2     Alat  Shirvan   0.83
3  Shirvan     Alat   0.80
4  Imishli  Shirvan   1.42
Index(['Origin', 'Destiny', 'Hours'], dtype='object')

現在當我做

G = networkx.from_pandas_edgelist(data, source='Origin', target='Destiny', edge_attr=True)

我遇到了一個問題或誤解:因為G.edges["Baku","Alat"] G.edges["Alat","Baku"] G.edges["Baku","Alat"]G.edges["Alat","Baku"]給出了相同的結果,即{'Hours': 1.13} . 為什么會這樣,因為它應該為相反的順序提供 1.08 和 1.13。

您應該通過使用參數create_using=networkx.DiGraph()來使用有向圖

G = networkx.from_pandas_edgelist(
    data, source='Origin', target='Destiny', edge_attr=True,
create_using=networkx.DiGraph())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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