les pandas - filtre dataframe par un autre dataframe par les éléments de ligne

J'ai un dataframe df1 qui ressemble à:

   c  k  l
0  A  1  a
1  A  2  b
2  B  2  a
3  C  2  a
4  C  2  d

et un autre appelé df2 comme:

   c  l
0  A  b
1  C  a

Je voudrais filtre df1 en ne conservant que les valeurs qui ne SONT PAS dans df2. Les valeurs de filtre devrait être le (A,b) et (C,a) des n-uplets. Jusqu'à présent, j'ai essayé d'appliquer la isin méthode:

d = df[~(df['l'].isin(dfc['l']) & df['c'].isin(dfc['c']))]

À part cela me semble trop compliqué, il retourne:

   c  k  l
2  B  2  a
4  C  2  d

mais j'en attends:

   c  k  l
0  A  1  a
2  B  2  a
4  C  2  d
  • Comment à propos de la concaténation des valeurs des deux colonnes c et l et à l'aide de cette clé?