首页 > 解决方案 > 将具有单列的数据框转换为差异矩阵

问题描述

我有一个数据框,其中包含单列值和样本名称索引:

>>> 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将我的起始数据框转换为矩阵,但显然我开始的不是正确的向量类型。任何帮助将非常感激!

标签: pythonarrayspandasdataframematrix

解决方案


推荐阅读