我看到一个回答,关于如何将嵌套的“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}}
在阅读有关IO工具文档中“使用MultiIndex读取索引”后,我尝试了这个方法:
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()
EDIT:
。 - Tim