合并两个数据框并添加新列
拥有几个这样的数据帧(df,df2),
df
D R1 R2 R3
0 D1 1 1 1
1 D1 1 1 1
2 D2 1 2 1
3 D2 1 2 1
4 D3 1 0 1
df2
D R1 R2 R3
0 D1 1 1 1
1 D1 1 1 1
2 D2 1 3 1
3 D2 1 3 1
4 D3 1 1 1
5 D3 2 2 2
6 D3 2 2 2
是否可以将它们合并并创建一个名为“new_values”的附加列,其中的值仅存在于两个数据帧之一中?
预期结果:
D R1 R2 R3 _merge new_values
0 D1 1 1 1 both False
1 D1 1 1 1 both False
2 D1 1 1 1 both False
3 D1 1 1 1 both False
4 D2 1 2 1 left_only False
5 D2 1 2 1 left_only False
6 D3 1 0 1 left_only False
7 D2 1 3 1 right_only False
8 D2 1 3 1 right_only False
9 D3 1 1 1 right_only False
10 D3 2 2 2 right_only True
11 D3 2 2 2 right_only True
Having a couple of dataframes like that (df, df2),
df
D R1 R2 R3
0 D1 1 1 1
1 D1 1 1 1
2 D2 1 2 1
3 D2 1 2 1
4 D3 1 0 1
df2
D R1 R2 R3
0 D1 1 1 1
1 D1 1 1 1
2 D2 1 3 1
3 D2 1 3 1
4 D3 1 1 1
5 D3 2 2 2
6 D3 2 2 2
Is it possible to merge them and create an additional column called "new_values" with those values that only exist in one of the two dataframes ?
Expected result :
D R1 R2 R3 _merge new_values
0 D1 1 1 1 both False
1 D1 1 1 1 both False
2 D1 1 1 1 both False
3 D1 1 1 1 both False
4 D2 1 2 1 left_only False
5 D2 1 2 1 left_only False
6 D3 1 0 1 left_only False
7 D2 1 3 1 right_only False
8 D2 1 3 1 right_only False
9 D3 1 1 1 right_only False
10 D3 2 2 2 right_only True
11 D3 2 2 2 right_only True
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
将外连接与
merge
结合使用并测试Series.isin
:Use outer join with
merge
and test memebrship of indices inSeries.isin
:您可以尝试:
输出:
You could try:
output: