【问题标题】:merging dataframes (python pandas)合并数据框(python pandas)
【发布时间】:2018-09-18 16:15:15
【问题描述】:

我有两个数据框 df1 df1 和 df2 df2 我想使用 python pandas 合并它们而不创建笛卡尔积。示例输出看起来像这样output 我应该怎么做?

目前,我正在使用 df3=pd.merge(df1,df2,on='id',how='left') 但它给了我叉积。结果数据帧 df3 包含 14 条记录 6 用于 id=1 和 8 用于 id=2。

谢谢,

【问题讨论】:

标签: pandas merge


【解决方案1】:

您可能需要额外的帮助密钥,由cumcount创建

df1['Helpkey']=df1.groupby('id').cumcount()
df2['Helpkey']=df2.groupby('id').cumcount()

df1.merge(df2,how='left').drop('Helpkey',1)

【讨论】:

  • 谢谢!!当我将 how='left' 替换为 how='outer' 时,它起作用了。非常感谢您的帮助
猜你喜欢
  • 2021-06-25
  • 1970-01-01
  • 2018-05-01
  • 2015-11-25
  • 2021-11-14
  • 2017-07-10
  • 1970-01-01
  • 2019-08-09
  • 2018-11-01
相关资源
最近更新 更多