首页 > 解决方案 > 从 DataFrame 创建矩阵

问题描述

我有以下格式的数据:

            comp1        comp2           comp3         centroids
  labels                
  0.0      -1277.121199     -281.150413     1031.050188     -175.740475
   1.0    3275.854753   -26.063192     -1945.974494        434.605689
  2.0       -611.460371     -1520.332741    -91.969114     -741.254075
  3.0      642.375806   -3227.808926       836.711055         -582.907355
  4.0   884.182524  45.676794   -     843.084473             28.924948
  5.0   -273.263020     290.050799      -391.166038          -124.792753
  6.0   984.819034  -796.861643          1918.537142          702.164844

我想要一个关于标签的矩阵,其中矩阵将存储所有 6 个标签之间的质心值差异,即 6x6 矩阵,对应框中每个标签之间的质心值差异。有人可以帮忙吗?

标签: python-3.xpandasnumpy

解决方案


就像是

c = list(df['centroids'])
m = np.zeros((len(c), len(c)))
for i, e in enumerate(c):
    for j, e2 in enumerate(c):
        m[i][j] = e - e2

?


推荐阅读