Pandas数据帧值相等测试

Mar*_*kNS 27 python pandas

另一个熊猫问题!

我正在编写一些单元测试来测试两个数据帧的相等性,但是,测试似乎没有看到数据帧的值,只有结构:

dates = pd.date_range('20130101', periods=6)

df1 = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
df2 = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))

print df1
print df2
self.assertItemsEqual(df1, df2)
Run Code Online (Sandbox Code Playgroud)

- >真

在声明相等之前,我是否需要将数据帧转换为另一个数据结构?

Mar*_*kNS 40

啊,当然有一个解决方案:

from pandas.util.testing import assert_frame_equal
Run Code Online (Sandbox Code Playgroud)


Rus*_*yev 5

虽然assert_frame_equal在单元测试中很有用,但我发现以下对分析有用,因为人们可能希望进一步检查哪些值不相等: df1.equals(df2)