【发布时间】:2018-04-08 10:02:47
【问题描述】:
我经常从“QC”的不同来源获得包含类似信息的表格。有时我想将这两个表并排放置,输出到 excel 以显示其他人,这样我们就可以解决差异。为此,我想要与 pandas 数据框进行“惰性”合并。
比如说,我有两张桌子:
df a: df b:
n I II n III IV
0 a 1 2 0 a 1 2
1 a 3 4 1 a 0 0
2 b 5 6 2 b 5 6
3 c 9 9 3 b 7 8
我想要这样的结果:
a merge b
n I II III IV
0 a 1 2 1 2
1 a 3 4
2 b 5 6 5 6
3 b 7 8
4 c 9 9
当然这是我使用 merge() 得到的:
a.merge(b, how='outer', on="n")
n I II III IV
0 a 1 2 1.0 2.0
1 a 1 2 0.0 0.0
2 a 3 4 1.0 2.0
3 a 3 4 0.0 0.0
4 b 5 6 5.0 6.0
5 b 5 6 7.0 8.0
6 c 9 9 NaN NaN
我觉得必须有一个简单的方法来做到这一点,但我所有的解决方案都很复杂。
merge 或 concat 中是否有类似“no_copy”的参数?
【问题讨论】:
标签: python pandas dataframe merge duplicates