【发布时间】:2015-07-23 15:15:38
【问题描述】:
我看到an answer to a question 将嵌套的“2D”字典转换为 Pandas DataFrame。那将是我的问题的解决方案,但后来我想知道,我是否可以跳过生成嵌套字典的中间步骤。假设我的输入 input.txt 如下所示:
A B 1
A C 2
B C 3
我可以使用 Pandas 或 Numpy 将其转换为以下对称矩阵,而无需生成中间嵌套字典吗?
A B C
A 0 1 2
B 1 0 3
C 2 3 0
我想避免创建的嵌套字典是:
d = {'A':{'B':1,'C':2},'B':{'C':3}}
我在阅读"Reading an index with a MultiIndex" 上的 IO 工具文档后尝试了这个:
import pandas as pd
df = pd.read_csv('input.txt', sep=' ', index_col=[0,1], header=None)
但我没有得到 2D 热图,当我这样做时:
import matplotlib.pyplot as plt
plt.pcolor(df)
plt.imshow()
【问题讨论】:
-
您可以编辑或建议编辑 DSM 的答案,而不是在问题中解释接受的答案,将解释放在答案本身中
-
将立即执行此操作@tim-castelijns。谢谢你教我这个过程。
-
不用担心。它更适合问答形式
-
在哪里?编辑也不需要说
EDIT:
标签: python numpy matrix pandas symmetric