我使用 pandas.to_datetime
来解析我的数据中的日期。默认情况下,Pandas 表示日期为 datetime64[ns]
即使日期都是每天的。我想知道是否有一种优雅/聪明的方法将日期转换为 datetime.date
或 datetime64[D]
这样,当我将数据写入 CSV 时,日期不会附加 00:00:00
。我知道我可以逐个元素手动转换类型:
[dt.to_datetime().date() for dt in df.dates]
但这真的很慢,因为我有很多行,而且有点违背了使用 pandas.to_datetime
的目的。有没有办法一次转换整个列的 dtype
?或者, pandas.to_datetime
支持精度规范,以便我可以在处理日常数据时摆脱时间部分?
原文由 user1642513 发布,翻译遵循 CC BY-SA 4.0 许可协议
由于版本
0.15.0
现在可以使用.dt
轻松完成访问日期组件:上面返回一个
datetime.date
,如果你想要一个datetime64
那么你可以只normalize
时间分量设置为午夜00:00:00
所以它将所有值设置为午夜---
:这使
dtype
保持为datetime64
,但显示仅显示date
值。.dt
访问器pandas.Series.dt