Pandas:在具有不同名称的字段上加入 DataFrames?
Posted
技术标签:
【中文标题】Pandas:在具有不同名称的字段上加入 DataFrames?【英文标题】:Pandas: join DataFrames on field with different names? [duplicate] 【发布时间】:2014-11-11 08:24:24 【问题描述】:根据this documentation,我只能在具有相同名称的字段之间进行连接。
您知道是否可以在具有不同名称的字段上连接两个 DataFrame?
SQL 中的等价物是:
SELECT *
FROM df1
LEFT OUTER JOIN df2
ON df1.id_key = df2.fk_key
【问题讨论】:
【参考方案1】:我认为使用merge
可以实现您想要的。传入 left_on
和 right_on
的关键字参数,以告诉 Pandas 将每个 DataFrame 中的哪些列用作键:
pandas.merge(df1, df2, how='left', left_on=['id_key'], right_on=['fk_key'])
文档在this page 上对此进行了更详细的描述。
【讨论】:
【参考方案2】: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')
【讨论】:
这不能回答这个问题以上是关于Pandas:在具有不同名称的字段上加入 DataFrames?的主要内容,如果未能解决你的问题,请参考以下文章
以长格式保存具有不同级别名称的多索引列 Pandas 为 excel 格式
django 两个 ModelForms 在一个模板上具有相同的字段名称