← retour aux snippets

pandas: merge validate

Valider le type de jointure (1:1, 1:m, m:1, m:m).

python pandas #pandas#merge#validate

objectif

Valider le type de jointure (1:1, 1:m, m:1, m:m).

code minimal

import pandas as pd
a = pd.DataFrame({"id":[1,2]})
b = pd.DataFrame({"id":[1,2,2]})
m = a.merge(b, on="id", validate="1:m")
print(m.shape[0] >= 2)

utilisation

import pandas as pd
a = pd.DataFrame({"id":[1,1]}); b = pd.DataFrame({"id":[1]})
try:
    a.merge(b, on="id", validate="1:1")
    ok = False
except Exception:
    ok = True
print(ok)

variante(s) utile(s)

import pandas as pd
a = pd.DataFrame({"id":[1,2]}); b = pd.DataFrame({"id":[1,2]})
print(a.merge(b, on="id", validate="1:1").shape[0])

notes

  • validate lève si la cardinalité attendue n’est pas respectée.