我看到了一个关于将嵌套的“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}}
在阅读了有关“使用 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()