我有一个包含一些特性的 Dataframe 。我想按“id”特性分组。然后对于每个组,我想确定“speed”特性值大于阈值的行,并选择此之前的所有行。
例如,对于“速度”特性,我的阈值是1.5,我的输入是:
| 身份证|速率|...|
| - ------|- ------|- ------|
| 1个|第1.2条|...|
| 1个|1.9岁|...|
| 1个|1.0分|...|
| 五个|0.9| ...|
| 五个|1.3岁|...|
| 五个|三、五|...|
| 五个|0.4分|...|
我想要的输出是:
| 身份证|速率|...|
| - ------|- ------|- ------|
| 1个|第1.2条|...|
| 五个|0.9| ...|
| 五个|1.3岁|...|
2条答案
按热度按时间zazmityj1#
这应该会得到你想要的结果:
输出:
x一个一个一个一个x一个一个二个x
输出:
yzuktlbb2#
我花了一个小时才弄明白,但我得到了你需要的东西。你需要REVERSE Dataframe ,并在groupbyed id中使用
.cumsum()
(累积和)来找到你设置的速度阈值之后的值。然后删除超过阈值的速度,以及不满足条件的行。最后,反向返回 Dataframe :输出: