我有一个带有 ID 列和测量列的数据框
ID measurement
1 A
1 B
1 C
1 D
2 A
2 B
2 C
2 D
3 A
4 A
4 B
4 C
4 D
4 E
我只想选择每个 ID 具有完整测量值 (AD) 的行,并删除每个 ID 具有更少(例如 ID 3)或更多测量值(例如 ID 4)的行。
有没有一种有效的方法来实现这一目标?
In [92]: df.groupby('ID').filter(lambda x: set(x['measurement']) == set('ABCD'))
Out[92]:
ID measurement
0 1 A
1 1 B
2 1 C
3 1 D
4 2 A
5 2 B
6 2 C
7 2 D
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句