python – 确认两个pandas数据帧的相等性?

如何断言以下两个数据帧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)

相关文章

转载:一文讲述Pandas库的数据读取、数据获取、数据拼接、数...
Pandas是一个开源的第三方Python库,从Numpy和Matplotlib的基...
整体流程登录天池在线编程环境导入pandas和xrld操作EXCEL文件...
 一、numpy小结             二、pandas2.1为...
1、时间偏移DateOffset对象DateOffset类似于时间差Timedelta...
1、pandas内置样式空值高亮highlight_null最大最小值高亮背景...