Я видел an answer to a question о преобразовании вложенного словаря «2D» в Pandas DataFrame. Это было бы решением моей проблемы, но тогда мне было интересно, могу ли я пропустить промежуточный шаг генерации вложенного словаря. Скажем, мой входаinput.txt
выглядит следующим образом:Python Pandas - файл «1D» для 2D-массива
A B 1
A C 2
B C 3
Можно ли преобразовать, что в следующей симметричную матрицу либо с пандами или 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}}
Я попробовал это после прочтения документации Tools IO на "Reading an index with a 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()
Вместо объяснения принятого ответа на свой вопрос, вы можете редактировать или предложить правку к ответу DSM, положив объяснение в самом ответе –
будет делать сразу @ ТИМ-castelijns. Спасибо, что обучил меня процедуре. –
Не беспокойтесь. Он лучше подходит для формата Q & A –