J'essaie de sous-créer une base de données basée sur le fait que les regroupements contiennent ou non au moins une occurrence de certains codes.La base de données de sous-ensemble par groupe doit contenir
Considérons cet exemple
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
Les inscriptions doivent être regroupées par cId
et eId
.
Je souhaite ne conserver que les groupes qui ont au moins une occurrence où code
dans ['af', 'da']
.
Le résultat final devrait être
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
Toutes les suggestions?
Im allant pour votre solution alors, car il semble être le plus rapide. – mortysporty