【发布时间】:2023-03-08 06:10:01
【问题描述】:
我有一个看起来像这样的熊猫数据框:
UNIT MACHINE
1 a100 001
2 a100 002
3 a100 003
4 a100 001
5 b222 001
6 b222 002
7 b222 002
8 b222 003
我想根据“UNIT”对其进行分组,并删除没有 [001, 002, 003] “MACHINE” 序列的行。这意味着因为 UNIT "a100" 具有序列 [001, 002, 003, 001],它应该被删除,但 UNIT "b222" 仍然存在,因为无论 MACHINE 002 是否重复,序列都是正确的。
输出应如下所示:
UNIT MACHINE
5 b222 001
6 b222 002
7 b222 002
8 b222 003
序列 [001, 002, 003] 是我在这里作为示例编写的可接受的 MACHINE 序列之一。这样的序列有好几个,都是单调递增的。
我应该如何结合 GroupBy 和 drop 来执行此操作?
【问题讨论】:
-
预期输出如何?你的那部分代码呢?
-
我在上面添加了输出。不幸的是,我没有这方面的代码。
-
在您自己找到解决方案后尝试自己。如果您遇到任何问题,那么 SO 将很乐意提供帮助。
-
@MaxU 我想 OP 只想要 MACHINE ID 的非递减序列。
-
谢谢大家,问题已经用@COLDSPEED 的解决方案解决了。
标签: python pandas dataframe group-by pandas-groupby