【问题标题】:pandas: merge/concat.join two dfspandas:合并/concat.join 两个 dfs
【发布时间】:2017-01-20 23:55:27
【问题描述】:

我有 2 个要合并/合并/加入的 dfs。

这里是df1:

 item    country  Month Year
 honda   JP       2     16
 sony    GB       6     16
 jazz    JP       6     16
 honda   US       6     16
 jazz    JP       1     16

这里是df2:

 item    country  pay 
 honda   JP       y   
 sony    GB       n   
 jazz    JP       y   
 honda   US       y   
 jazz    JP       n   

这是我希望合并的样子:

 item    country  pay  Month Year
 honda   JP       y     2     16
 sony    GB       n     6     16
 jazz    JP       y     6     16
 honda   US       y     6     16
 jazz    JP       n     1     16

我使用了df = df1.join(df2, how='outer'),但它创建了重复项。

我想使用itemcountry 列合并到pay 列中,如果这样有意义吗?

【问题讨论】:

    标签: pandas join dataframe merge concat


    【解决方案1】:

    我认为你需要concatset_indexDataFrames 中:

    print (pd.concat([df1.set_index(['item','country']),
                      df2.set_index(['item','country'])], axis=1).reset_index())
        item country  Month  Year pay
    0  honda      JP      2    16   y
    1   sony      GB      6    16   n
    2   jazz      JP      6    16   y
    3  honda      US      6    16   y
    4   jazz      JP      1    16   n
    

    【讨论】:

      猜你喜欢
      • 2019-07-22
      • 2018-05-16
      • 2021-12-11
      • 2022-07-20
      • 2015-10-17
      • 2018-03-14
      • 1970-01-01
      • 2012-07-23
      • 2015-04-17
      相关资源
      最近更新 更多