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"] 给出了相同的结果,即 {'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())