所以我有两个数据框,由 6 列组成,每列包含数字。我需要比较每个数据帧中的 1 列,以确保它们匹配并修复该列中不匹配的任何值。列已经排序并且它们的长度匹配。到目前为止,我可以找到列中的差异:
df1.loc[(df1['col1'] != df2['col2'])]
然后我得到索引 #,其中 df1
与 df2
不匹配。然后,我将转到 df2 中的相同索引 # 找出 col2 中的哪个值导致不匹配,然后使用它将该值更改为 df2 中找到的正确值>:
df1.loc[index_number, 'col1'] = new_value
有没有一种方法可以自动修复不匹配项,而无需手动查找 df2
中的正确值?
最佳答案
如果 df2
是权威来源,则无需检查 df1
是否相等
df1.loc[:, 'column_name'] = df2['column_name']
但是如果我们必须检查
c = 'column_name'
df1.loc[df1[c] != df2[c], c] = df2[c]
关于python - 比较 pandas 中的两列以使它们匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41266029/