当我尝试通过第三列连接两列时出现问题

issue when i try to connect two columns by a third columns

我有一个包含以下内容的 csv 文件:

id_1 id_2 date
FD345 MER3345 06/12/2020

我想连接 id_1 -> id_2

他们之间的边缘应该是日期见下图

见 id_1 它有一条直接连接到 id_2

的边

他们之间的边缘应该是日期

所以我所做的就是这样的:

import networkx as nx
import pandas as pd

df = pd.read_csv('data.csv')

G = nx.from_pandas_edgelist(df, source = "id_1", target = "id_2", edge_attr='date', create_using=nx.DiGraph())

但是这样它并没有按日期连接node_1和node_2它只给出了日期的属性!!

或者我理解不正确,因为当我打印 G.edges()

时,输出是这样的
('UCU6lC', 'vOGN5A'), ........

它连接节点,但我不确定它是否与日期连接!

谢谢你帮我解决了一些问题。

您需要使用draw_networkx_edge_labels()绘制边缘标签。

import pandas as pd
import networkx as nx
import matplotlib.pyplot as plt

df = pd.DataFrame({'id_1': ['FD345'],
                   'id_2': ['MER3345'],
                   'date': ['06/12/2020']
                   })

G = nx.from_pandas_edgelist(df, source="id_1", target="id_2", create_using=nx.DiGraph())

nx.draw_networkx(G)
nx.draw_networkx_edge_labels(G, nx.spring_layout(G), edge_labels=dict(zip(G.edges, df['date'].tolist())),
                             verticalalignment='center_baseline')

plt.show()