【问题标题】:Why does df.merge() reduce the size of the dataframe like this?为什么 df.merge() 会像这样减小数据框的大小?
【发布时间】:2020-10-20 12:20:43
【问题描述】:

我正在尝试沿公共列“国家/地区”合并 3 个数据帧,但是当我这样做时,df 的长度被缩减为 6。这是三个原始数据帧的快速快照。 [

它们的长度分别为 227、264 和 15。但是,当我合并它们时,我得到的长度只有 6 个条目(正在使用 len(df) 检查) 我正在使用

df = ScimEn.merge(energy).merge(GDP)

df.set_index('Country', inplace=True)

【问题讨论】:

  • 请不要张贴图片,如果您复制并粘贴解释器的输出,每个人都会更容易。

标签: python pandas


【解决方案1】:

这是因为.merge() 的默认连接是文档here 中描述的内连接。然后,您的合并仅返回在所有三个数据帧中都找到 Country 的行集。您应该尝试使用关键字how: {‘left’, ‘right’, ‘outer’, ‘inner’}, default ‘inner’ 指定您想要的连接类型。例如外连接:

df = ScimEn.merge(energy, how='Outer').merge(GDP, how='Outer')

【讨论】:

  • 正是我想要的。谢谢。
猜你喜欢
  • 2014-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多