根据列的分布将pandas数据帧拆分为多个数据帧

2024-03-28 08:46:02 发布

您现在位置:Python中文网/ 问答频道 /正文

改变了问题和图片(如我之前所说。。。很复杂:)

I added a "picture" to describe what I want.

我有一个pandas数据帧'df',它有一列'score'(浮点值)和一个分布(比如正态分布)。另外,我还有一个整数“splits”(假设3)和一个浮点数“gap”(假设0.5)。在

我想要两个数据帧“gaps”和“rest”gaps_df'应包括图片中标记为橙色的df中的所有条目(每两条红线都有距离'gap')rest_df'由标记为绿色的所有条目组成。在

这里有一个棘手的部分:绿地面积必须相等!在

要说清楚:

  • 绿色区域必须有相同数量的条目!在
  • 橙色区域必须由绿色区域之间的间隙范围(数量无关紧要)内的条目组成

到目前为止,我有以下情况:

df.sort('score')
df = df.reset_index(drop=True)
split_markers = []
for marker_index in range(1, classes):
    split_markers.append(marker_index * df.size/classes)

因为最后两行的金额是相等的。0.5的正态分布,可以向左移动。但事实上:我没有正态分布(这只是为了快速创建一个具有相等绿地面积的图片)。在

我都快吓坏了。我真的很感激你能给我的每一个帮助!也许有更简单的解决方法。。。在


Tags: 数据标记rest区域dfindex图片条目