【发布时间】:2014-11-11 08:24:24
【问题描述】:
根据this documentation,我只能在具有相同名称的字段之间进行连接。
您知道是否可以在具有不同名称的字段上连接两个 DataFrame?
SQL 中的等价物是:
SELECT *
FROM df1
LEFT OUTER JOIN df2
ON df1.id_key = df2.fk_key
【问题讨论】:
标签: python pandas join dataframe field
根据this documentation,我只能在具有相同名称的字段之间进行连接。
您知道是否可以在具有不同名称的字段上连接两个 DataFrame?
SQL 中的等价物是:
SELECT *
FROM df1
LEFT OUTER JOIN df2
ON df1.id_key = df2.fk_key
【问题讨论】:
标签: python pandas join dataframe field
我认为使用merge 可以实现您想要的。传入 left_on 和 right_on 的关键字参数,以告诉 Pandas 将每个 DataFrame 中的哪些列用作键:
pandas.merge(df1, df2, how='left', left_on=['id_key'], right_on=['fk_key'])
文档在this page 上对此进行了更详细的描述。
【讨论】:
df2['id_key'] = df2['fk_key'].str.lower()
df1['id_key'] = df1['id_key'].str.lower()
df3 = pd.merge(df2,df1,how='inner', on='id_key')
【讨论】: