我有以下 pandas DataFrame
列 dfA['TradeDate']
:
0 20100329.0
1 20100328.0
2 20100329.0
...
我希望将其转换为日期时间。
基于 SO 的另一个步骤,我首先将其转换为字符串,然后应用 strptime
函数。
dfA['TradeDate'] = datetime.datetime.strptime( dfA['TradeDate'].astype('int').to_string() ,'%Y%m%d')
但是,这会返回我的格式不正确的错误( ValueError
)。
我发现的一个问题是该列不适用于字符串,而是对象。
当我尝试时:
dfA['TradeDate'] = datetime.datetime.strptime( dfA['TradeDate'].astype(int).astype(str),'%Y%m%d')
它返回:必须是 Str 而不是 Series。
原文由 JohnAndrews 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用:
但是,如果一些错误的值,添加
errors='coerce'
将它们替换为NaT