J'ai deux cadres de données df1 et df2.
df1 = pd.DataFrame({'type_id' : [1,2,3,4,3], 'count' : [12,11,15,16,2], 'unique_id' : ['1|12','2|11','3|15','4|16','3|2']})
df2 = pd.DataFrame({'type_id' : [1,3,76,12,11,1], 'count' : [8,6,15,16,5,17], 'col3' : [1,5,7,3,4,7], 'unique_id' : ['1|8','3|6','76|12','12|16','11|5','1|17']})
df1
type_id count unique_id
0 1 12 1|12
1 2 11 2|11
2 3 15 3|15
3 4 16 4|16
4 3 2 3|2
df2
type_id count col3 unique_id
0 1 8 1 1|8
1 3 6 5 3|6
2 76 15 7 76|12
3 12 16 3 12|16
4 11 5 4 11|5
5 1 17 7 1|17
Ici, unique_id est une combinaison de type_id et count.
Maintenant, je veux récupérer les lignes de df2 où df2['type_id'] == df1['id'] & df2['count']<df1['count']
c'est-à-dire que je veux des lignes où les deux ids correspondent et où le compte correspondant dans df2 est inférieur au compte de df1
Sortie attendue :
type_id count col3 unique_id
0 1 8 1 1|8
1 3 6 5 3|6
Lorsque j'essaie de faire cela directement, j'obtiens une erreur :
Can only compare identically-labeled Series objects
Comment effectuer cette opération ? Merci d'avance.