我想基于其他分组包含至少一个特定代码的发生。根据组的子集数据框必须包含
考虑这个例子
import pandas as pd
df = pd.DataFrame({'cId' : [1, 1, 1, 2, 2, 4, 4, 4, 4, 4],
'eId' : [1, 1, 1, 1, 1, 1, 1, 2, 2, 3],
'code' :['af', 'af', 'la', 'su', 'su', 'af', 'da', 'da', 'la', 'su'],
'data' : [1, 2, 3, 5, 3, 5, 2, 5, 2, 1]},
columns=['cId', 'eId', 'code', 'data'])
df
Out[10]:
cId eId code data
0 1 1 af 1
1 1 1 af 2
2 1 1 la 3
3 2 1 su 5
4 2 1 su 3
5 4 1 af 5
6 4 1 da 2
7 4 2 da 5
8 4 2 la 2
9 4 3 su 1
条目是由cId
和eId
进行分组。
我想只保留那些至少有一个发生在 ['af', 'da']
的组。
最终的结果应该是
df
Out[10]:
cId eId code data
0 1 1 af 1
1 1 1 af 2
2 1 1 la 3
5 4 1 af 5
6 4 1 da 2
7 4 2 da 5
8 4 2 la 2
有什么建议?
我要去你的解决方案,然后,因为它似乎是最快的。 – mortysporty