gpt4 book ai didi

python - Networkx:从 Pandas DataFrame 中的距离矩阵绘制网络

转载 作者:太空宇宙 更新时间:2023-11-03 14:38:52 26 4
gpt4 key购买 nike

我有一个余弦距离矩阵作为 pandas 数据框。如果我将其转换为 numpy 矩阵并执行以下操作,我可以将其可视化为网络:

DistMatrix = cosine1
G = G=nx.from_numpy_matrix(DistMatrix)
nx.draw(G , with_labels=True)
plt.show()

问题是我丢失了节点的标签。然而,这些标签位于 pandas 数据框中。作为距离矩阵,列标签当然与索引标签相同,并且矩阵的对角线具有 0 的条目(它们完全相同)。

如何从 pandas 数据框中绘制网络并包含标签以正确标记节点?

 DistMatrix = pd.DataFrame( data = cosine , index = label_list , columns = label_list)

是否可以只向 numpy 矩阵版本添加标签?

最佳答案

您可以使用函数relabel_nodes手动添加标签通过添加一个字典,并将编号映射到标签。

G = nx.from_numpy_matrix(DistMatrix.values)

labels = DistMatrix.columns.values
G = nx.relabel_nodes(G, dict(zip(range(len(labels)), labels)))

nx.draw(G, with_labels=True)
plt.show()

关于python - Networkx:从 Pandas DataFrame 中的距离矩阵绘制网络,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46712208/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com