从DataFrame创建矩阵

时间:2018-10-17 12:37:17

标签: python-3.x pandas numpy

我具有以下格式的数据:

            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矩阵,相应框中的每个标签之间的质心值之差。有人可以帮忙吗?。

1 个答案:

答案 0 :(得分:0)

类似

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