【问题标题】:Pandas: join DataFrames on field with different names? [duplicate]Pandas:在具有不同名称的字段上加入 DataFrames?
【发布时间】: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


    【解决方案1】:

    我认为使用merge 可以实现您想要的。传入 left_onright_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')

      【讨论】:

      • 这不能回答这个问题
      猜你喜欢
      • 2019-01-18
      • 2011-11-20
      • 2016-08-03
      • 2018-08-07
      • 1970-01-01
      • 2018-11-21
      • 1970-01-01
      • 2015-11-19
      • 2016-08-25
      相关资源
      最近更新 更多