【发布时间】:2019-12-10 14:45:52
【问题描述】:
我有一个矩阵如下:
adjacency_matrix = [['A', 1, 1, 0, 2], ['B', 1, 1, 1, 3], ['C', 0, 0, 1, 1]]
表明A在“元素1”、“元素2”中,但不在“元素3”中,因为它有1、1和0。
B 是“元素 1”、“元素 2”和“元素 3”,因为所有值都是 1 等。最后一个值是该子列表中 0 和 1 的总和。
我创建了一个 pandas 数据框以将其保存到 csv 文件中。在保存之前,它会按总和对其进行排序,然后删除最后一列(总和)。
df = pd.DataFrame(adjacency_matrix, columns = ["Name", "Element 1", "Element 2", "Element 3", "Sum"])
df = df.sort_values(by=['Sum'], ascending=False)
df = df.iloc[:, :-1]
我的下一步是使用邻接矩阵并创建一个漂亮的连接图。
G=from_pandas_edgelist(df, source="Name", target=["Name", "Element 1", "Element 2", "Element 3"])
nx.draw_circular(G, with_labels=True)
plt.axis('equal')
plt.show()
我做错了什么?我没有得到“A”连接到元素 1 和元素 2 的无向图。我感觉我的源和目标是错误的。
【问题讨论】:
标签: python pandas networkx graph-theory adjacency-matrix