Python 根据内容将所有数据帧列转换为字符串、日期时间或数字

Python 根据内容将所有数据帧列转换为字符串、日期时间或数字,python,pandas,types,Python,Pandas,Types,我经常发出发送回json的API请求。我将其存储在pandas数据框中,列将是日期、字符串和数字(跨列)的混合体,不幸的是,数字的同一列中混合了float和int。例如,json值(如50)将变为int,50.03 float,因此列类型将为object 当将数据帧存储为hdf时,我收到了一个投诉,即需要进行酸洗,因此希望首先将所有列转换为正确的类型以避免这种情况 我的问题是,如何在整个数据帧中干净地实现这一点 我尝试了df.apply(pd.to_numeric,errors=“ignore”

我经常发出发送回json的API请求。我将其存储在pandas数据框中,列将是日期、字符串和数字(跨列)的混合体,不幸的是,数字的同一列中混合了float和int。例如,json值(如50)将变为int,50.03 float,因此列类型将为object

当将数据帧存储为hdf时,我收到了一个投诉,即需要进行酸洗,因此希望首先将所有列转换为正确的类型以避免这种情况

我的问题是,如何在整个数据帧中干净地实现这一点

我尝试了df.apply(pd.to_numeric,errors=“ignore”),它适用于数字,但随后必须对字符串和日期执行相同的操作,并且链接这些将把我的数字格式化为日期。有更好的办法吗