我有两个数据帧,包含来自单个源(csv)不同部分的corr()的结果。现在我想比较两个数据帧中的所有值,以检查它们是否相等,或者即使它们落在特定范围内。所以puseudo代码就像是:
df1['column1']['row1'] == df2['column1']['row1']
在熊猫中有一种简单的方法吗?
答案 0 :(得分:0)
你有很多方法可以做到这一点。我遵循的方法之一如下:
df3 = df2[df1.ne(df2).any(axis=1)]
df3 将列出至少一个单元格不匹配的所有行。
仅供参考,这里的 ne
代表 not equal
。
示例:
创建 df1
data = [['batman', 10], ['joker', 15], ['alfred', 14]]
df1 = pd.DataFrame(data, columns = ['Name', 'Age'])
创建与df1略有不同的df2
data = [['batman', 10], ['joker', 6], ['alfred', 17]]
df2 = pd.DataFrame(data, columns = ['Name', 'Age'])
提取至少一个不等单元格的行
df3 = df2[df1.ne(df2).any(axis=1)]
df3
打印结果df3
Name Age
1 joker 6 // the age is different in df1 and df2 for joker
2 alfred 17 // the age is different in df1 and df2 for alfred
现在,您可以从生成的数据框中根据您的业务案例检查范围要求。