从另一个数据帧向Pandas数据帧添加行

时间:2017-09-28 04:15:41

标签: python pandas numpy dataframe cluster-analysis

所以我试图根据随机生成的行对数据帧进行排序。数据框如下所示。我要做的是随机选择一行,我将其称为数据框中的质心,然后使其成为小于数据的行在其上方,以及大于质心的行低于它。但是我不知道该怎么做,我已经给出了下面的数据帧和数据以及我用来比较行的函数。我通过对行中的值求和,并将其与质心的总和进行比较来判断行是否小于或大于。

有没有好办法呢?

感谢任何建议。

.cpl

如果您需要更多信息,请告诉我

感谢您阅读

1 个答案:

答案 0 :(得分:2)

  • 随机抓取一行pd.DataFrame.sample
    • 注意:这将返回一行数据框
  • 创建一个没有随机行的临时数据框d
  • 创建一系列布尔值的真值,以确定哪些其他行大于我们的随机行
  • 我们的临时数据框的子集不大于,附加我们的随机行,附加临时数据框的子集,其中大于我们的随机行
sampled = df.sample(1)
d = df.drop(sampled.index)
gt = d.apply(compareRows, 1, arr2=sampled.squeeze())

pd.concat([d[~gt], sampled, d[gt]])
# d[~gt].append(sampled).append(d[gt])