Panda’s: deelnemen aan DataFrames op veld met verschillende namen?

Volgens deze documentatiekan ik maak alleen een join tussen velden met dezelfde naam.

Weet u of het mogelijk is om twee DataFrames samen te voegen in een veld met verschillende namen?

Het equivalent in SQL zou zijn:

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

Antwoord 1, autoriteit 100%

Ik denk dat wat je wilt mogelijk is met merge. Geef de trefwoordargumenten op voor left_onen right_onom Panda’s te vertellen welke kolom(men) van elk DataFrame als sleutels moeten worden gebruikt:

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

De documentatie beschrijft dit in meer detail op deze pagina.


Antwoord 2

df2[‘id_key’] = df2[‘fk_key’].str.lower()

df1[‘id_key’] = df1[‘id_key’].str.lower()

Probeer nu de dataframes samen te voegen

df3 = pd.merge(df2,df1,how=’inner’, on=’id_key’)

Other episodes