如何解决如何逐行比较两个数据框,添加标签带真/假?
我想比较两个数据框,它们的列名称相同。我想创建另一个带有标签的附加列的数据框。如果 val1 = val1 且 val2=val2 则加 1(真),否则加 0(假)。
df1:
val1 val2
3 4
1 2
6 7
8 9
df2:
val1 val2
3 4
1 6
6 7
8 0
我希望我有这样的结果:
df_new:
val1 val2 Label
3 4 1
1 2 0
6 7 1
8 9 0
我该怎么做?
解决方法
如果行都对齐了,直接比较就行了,
df1["Label"] = (df1 == df2).all(axis=1).astype(int)
,
使用 .merge
参数尝试 indicator=
:
x = df1.merge(df2,on=["val1","val2"],indicator="Label",how="left")
x.Label = x.Label.eq("both").astype(int)
print(x)
打印:
val1 val2 Label
0 3 4 1
1 1 2 0
2 6 7 1
3 8 9 0
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。