如何断言以下两个数据帧df1和df2是否相等?
import pandas as pd
df1 = pd.DataFrame([1, 2, 3])
df2 = pd.DataFrame([1.0, 2, 3])
df1.equals(df2)的输出为False.
截至目前,我知道两种方式:
print (df1 == df2).all()[0]
要么
df1 = df1.astype(float)
print df1.equals(df2)
看起来有点凌乱.有没有更好的方法来进行这种比较?
解决方法:
您可以使用assert_frame_equal而不检查列的dtype.
# 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)