Python df1.equals(df2)在pandas中的同一csv文件上失败
我有两个数据帧df1和df2,它们必须相等,从以下代码中可以明显看出:Python df1.equals(df2)在pandas中的同一csv文件上失败,python,pandas,dataframe,Python,Pandas,Dataframe,我有两个数据帧df1和df2,它们必须相等,从以下代码中可以明显看出: df1.to_csv("part2_trains.csv",index=False) df2= pd.read_csv("part2_trains.csv",index_col=False) print df2.dtypes print df1.dtypes print df1.equals(df2) 但这一结果并不是我所期望的: hour_id int64 device_id
df1.to_csv("part2_trains.csv",index=False)
df2= pd.read_csv("part2_trains.csv",index_col=False)
print df2.dtypes
print df1.dtypes
print df1.equals(df2)
但这一结果并不是我所期望的:
hour_id int64
device_id int64
os_id int64
browser_id int64
first_category_name object
city object
state_code object
referer object
dow object
mobile_model object
screen_size object
impression int64
revenue float64
dtype: object
hour_id int64
device_id int64
os_id int64
browser_id int64
first_category_name object
city object
state_code object
referer object
dow object
mobile_model object
screen_size object
impression int64
revenue float64
dtype: object
False
为什么df1.equals(df2)返回False,尽管它们是同一事物?您的任何条目是否包含
nan
?@kabanus是的。df1包含一些nan值。它是否影响平等性?df1的索引是什么?如果不是常规的RangeIndex,它们肯定会不同。@user2285236 df1.index返回RangeIndex(开始=0,停止=1298610,步骤=1)尝试df1.eq(df2,axis=0)。all()
并尝试使用axis=1
执行相同的操作。如果返回False,则可以确定哪一点不同。