Я написал скрипт на python для чтения в матрице расстояний, предоставленной через текстовый файл CSV. Эта матрица расстояний показывает разницу между разными видами животных, и я пытаюсь сортировать их по-разному (рацион, семейство, род и т. Д.), Используя данные из другого файла CSV, в котором есть только один ряд информации для заказа. Код используется здесь:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as mp
dietCols = pd.read_csv("label_diet.txt", header=None)
df = pd.read_csv("distance_matrix.txt", header=None)
ax = sns.heatmap(df)
fig = ax.get_figure()
fig.savefig("fig1.png")
mp.clf()
dfDiet = pd.read_csv("distance_matrix.txt", header=None, names=dietCols)
ax2 = sns.heatmap(dfDiet, linewidths=0)
fig2 = ax2.get_figure()
fig2.savefig("fig2.png")
mp.clf()
При построении матрицы расстояний исходный график выглядит следующим образом:
Однако, когда дополнительная информация об именах читается из текстового файла, полученный график имеет только один столбец и выглядит следующим образом:
Вы можете видеть, что данные матрицы используются в качестве меток строк, и я не уверен, почему это так. Некоторые из представленных строк не имеют значений, поэтому они перечислены как «NaN», поэтому я не уверен, что это может вызвать проблемы. Есть ли простой способ заказать эту матрицу расстояний, используя внешний файл? Любая помощь будет оценена!