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())
我在 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())