【问题标题】:pandas left join - why more results?pandas left join - 为什么会有更多结果?
【发布时间】:2017-02-21 11:26:58
【问题描述】:

熊猫怎么可能左加入

df.merge(df2, left_on='first', right_on='second', how='left')

将数据帧从 221309 增加到 1388680 行?

编辑

df 1 (221309, 83)的形状

df2 (7602, 6)的形状

【问题讨论】:

  • 我们需要知道他们有多少行
  • dfdf2 是否包含重复键?
  • 我检查了 df2 并让 pandas 放下所有的键。 @Maxu 不,这是合并数据帧的编号。

标签: python pandas join dataframe left-join


【解决方案1】:

作为@JonClements has already said in the comment,这是用于合并/连接的列中重复条目的结果。这是一个小演示:

In [5]: df
Out[5]:
   a   b
0  1  11
1  1  12
2  2  21

In [6]: df2
Out[6]:
   a    c
0  1  111
1  1  112
2  2  221
3  2  222
4  3  311

In [7]: df.merge(df2, on='a', how='left')
Out[7]:
   a   b    c
0  1  11  111
1  1  11  112
2  1  12  111
3  1  12  112
4  2  21  221
5  2  21  222

【讨论】:

  • 我明白了。可能这是一个缓存问题,因为最初存在重复。
猜你喜欢
  • 1970-01-01
  • 2019-04-16
  • 2019-10-09
  • 1970-01-01
  • 1970-01-01
  • 2018-09-04
  • 1970-01-01
  • 1970-01-01
  • 2021-08-01
相关资源
最近更新 更多