如何断言以下两个数据帧df1和df2是相等的?
df1
df2
import pandas as pd df1 = pd.DataFrame([1, 2, 3]) df2 = pd.DataFrame([1.0, 2, 3])
的输出df1.equals(df2)是False。到目前为止,我知道两种方法:
df1.equals(df2)
False
print (df1 == df2).all()[0]
要么
df1 = df1.astype(float) print df1.equals(df2)
似乎有点混乱。有没有更好的方法进行比较?
您可以使用assert_frame_equal而不检查列的dtype。
assert_frame_equal
# Pre v. 0.20.3 # from pandas.util.testing import assert_frame_equal from pandas.testing import assert_frame_equal assert_frame_equal(df1, df2, check_dtype=False)