我正在使用
pd.testing.assert_frame_equal(expected,actual)
对于单元测试,
expected = pd.Dataframe(actual.to_dict()) .
但是pandas的to_dict()函数会默认将int32类型转换为int64类型,我该如何避免这种情况?非常感谢您的帮助。
我正在使用
pd.testing.assert_frame_equal(expected,actual)
对于单元测试,
expected = pd.Dataframe(actual.to_dict()) .
to_dict
没有将数据类型更改为int64。
to_dict
返回一个由普通Python标量填充的字典,而不是NumPy或Pandas对象。普通的Python int 没有数据类型。当您再次调用pandas.DataFrame
时,pandas会为所有列推断数据类型,而推断过程没有关于原始数据类型的信息。
您必须使用其他方法替代to_dict
,或者在重构数据框后单独跟踪原始数据类型并进行修复。