web-dev-qa-db-fra.com

Pandas: rejoindre DataFrames sur un terrain avec des noms différents?

Selon cette documentation je ne peux faire qu'une jointure entre des champs ayant le même nom.

Savez-vous s'il est possible de joindre deux DataFrames sur un champ ayant des noms différents?

L'équivalent en SQL serait:

SELECT *
FROM df1
LEFT OUTER JOIN df2
  ON df1.id_key = df2.fk_key
36
woshitom

Je pense que ce que vous voulez est possible en utilisant merge. Passez les arguments de mot clé pour left_on et right_on pour indiquer Pandas quelle (s) colonne (s) de chaque DataFrame utiliser comme clés:

pandas.merge(df1, df2, how='left', left_on=['id_key'], right_on=['fk_key'])

La documentation le décrit plus en détail sur cette page .

71
Alex Riley