作为单元测试的一部分,我需要测试两个 DataFrame 是否相等。DataFrames 中列的顺序对我来说并不重要。然而,这对 Pandas 来说似乎很重要:
import pandas
df1 = pandas.DataFrame(index = [1,2,3,4])
df2 = pandas.DataFrame(index = [1,2,3,4])
df1['A'] = [1,2,3,4]
df1['B'] = [2,3,4,5]
df2['B'] = [2,3,4,5]
df2['A'] = [1,2,3,4]
df1 == df2
结果是:
Exception: Can only compare identically-labeled DataFrame objects
我相信表达式df1 == df2
应该评估为包含所有True
值的 DataFrame。==
显然,在这种情况下,正确的功能应该是什么是有争议的。我的问题是:有没有一种 Pandas 方法可以满足我的要求?也就是说,有没有办法进行忽略列顺序的相等比较?