У меня есть фрейм данных с одним столбцом значений и индексом имен выборок:
>>> df = pd.DataFrame(data={'value':[1,3,4]},index=['cat','dog','bird'])
>>> print(df)
value
cat 1
dog 3
bird 4
Я хотел бы преобразовать это в квадратную матрицу, в которой каждая ячейка матрицы показывает разницу междукаждый набор из двух значений:
cat dog bird
cat 0 2 3
dog 2 0 1
bird 3 1 0
Возможно ли это? Если так, то как мне это сделать?
Я пытался использовать scipy.spatial.distance.squareform
для преобразования моего начального фрейма данных в матрицу, но, очевидно, то, с чего я начинаю, не является правильным типом вектора. Любая помощь будет высоко ценится!