将 Pandas 距离矩阵 DataFrame 转换为行

Convert Pandas Distance Matrix DataFrame to Rows

我有一个 pandas DataFrame,其中有 n 个 ID 作为列和索引。有没有一些我不考虑将其转换为 n2 行距离的简单方法?

    id1 id2
id1   0 .75
id2 .75   0

id1   id2    .75
id1   id1      0
id2   id2      0
id2   id1    .75

您可以使用 stack():

>>> df.stack()
id1  id1    0.00
     id2    0.75
id2  id1    0.75
     id2    0.00
dtype: float64

这将创建一个带有 MultiIndex 的系列 - 原始 DataFrame 中的距离成为值。这适用于任何形状的 DataFrame。