Python 将具有单列的数据帧转换为差分矩阵

Python 将具有单列的数据帧转换为差分矩阵,python,arrays,pandas,dataframe,matrix,Python,Arrays,Pandas,Dataframe,Matrix,我有一个数据框,其中有一列值和一个样本名称索引: >>> 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

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

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

您能否提供更多详细信息,如数据帧输入示例、所需输出、到目前为止您尝试使用的代码,以及如果代码不起作用,您将收到错误或不正确的输出。可能重复的