objectif
Joindre des DataFrames avec différents types de jointures.
code minimal
import pandas as pd
a = pd.DataFrame({"id":[1,2,3], "x":[10,20,30]})
b = pd.DataFrame({"id":[2,3,4], "y":[200,300,400]})
print(a.merge(b, on="id", how="left").fillna({"y":0}).to_dict(orient="records"))
utilisation
import pandas as pd
a = pd.DataFrame({"k":["a","b","b"], "x":[1,2,3]})
b = pd.DataFrame({"k":["b","c"], "y":[9,8]})
print(a.merge(b, on="k", how="outer").sort_values("k").to_dict(orient="records"))
variante(s) utile(s)
import pandas as pd
a = pd.DataFrame({"k1":[1,1,2], "k2":["x","y","x"]})
b = pd.DataFrame({"k1":[1,2], "k2":["x","x"], "v":[5,6]})
print(a.merge(b, on=["k1","k2"], how="left").to_dict(orient="records")[:2])
notes
- Assurez-vous que les clés ont les mêmes types des deux côtés.