【发布时间】:2019-10-21 20:36:20
【问题描述】:
我有两个数据框:
DF1:
ID v1 v2 v3
289 1455.0 2.0 0.62239
289 1460.0 0.0 0.46037
289 1465.0 4.0 0.41280
290 1470.0 0.0 0.39540
290 1475.0 2.0 0.61809
290 1475.0 2.0 0.61809
DF2:
ID v1 v2 v3
289 1423.0 2.0 0.62239
289 142Q.0 0.0 0.46037
289 14FW.0 4.0 0.41280
290 14Q3.0 0.0 0.39540
290 1453.0 2.0 0.61809
290 1454.0 2.0 0.61809
我想用 DF2 中的每一行迭代 DF1 中的每一行,看看它是否在 DF2 中,类似于:
for row in results_01.iterrows():
diff = []
if row not in results_02:
add different one to 'diff'
print(diff)
我知道逻辑,但不知道如何做到这一点,Python 新手,谁能帮助我?非常感谢。
【问题讨论】:
-
给定输入的输出应该是什么?给定样本中没有完全匹配的行
-
我在下面回答了,但好奇你为什么将相似的行称为“差异”?
-
@LiorCohen 我的错,我想说如果'row not in results_02',然后添加到差异,基本上我想找到不同的行而不是逐行。
-
回答第一个问题,这个样本数据只是一个例子,我复制到别的地方了。 @G.Anderson
-
您可能希望包含一些匹配的行,否则您提供的所有行都会不同,因此最简单的代码就是
diff=df1.copy()
标签: python pandas loops dataframe comparison