objectif
Repérer l’appartenance via merge(indicator=True).
code minimal
import pandas as pd
a = pd.DataFrame({"id":[1,2,3]})
b = pd.DataFrame({"id":[2,3]})
m = a.merge(b, on="id", how="left", indicator=True)
print(m["_merge"].value_counts().to_dict()[ "both" ])
utilisation
import pandas as pd
a = pd.DataFrame({"id":[1,2,3]})
b = pd.DataFrame({"id":[2]})
anti = a.merge(b, on="id", how="left", indicator=True).query("_merge=='left_only'").drop(columns=["_merge"])
print(anti["id"].tolist())
variante(s) utile(s)
import pandas as pd
a = pd.DataFrame({"id":[1,2,3]})
b = pd.DataFrame({"id":[2]})
semi = a.merge(b, on="id", how="inner").drop_duplicates()
print(semi["id"].tolist())
notes
- Anti-join: left_only; Semi-join: inner + drop_duplicates.