我用熊猫。To_datetime解析数据中的日期。Pandas默认情况下表示datetime64[ns]的日期,即使这些日期都是每天的。
我想知道是否有一种优雅/聪明的方法将日期转换为datetime。[D]这样,当我把数据写入CSV时,日期不会附加00:00:00。我知道我可以逐个元素手动转换类型:
[dt.to_datetime().date() for dt in df.dates]
但这真的很慢,因为我有很多行,这有点违背了使用pandas.to_datetime的目的。是否有一种方法可以一次转换整个列的dtype ?或者,熊猫也一样。to_datetime支持一个精度规范,以便我可以摆脱时间部分,同时与日常数据?
Pandas v0.13+:使用带date_format参数的to_csv
尽可能避免将datetime64[ns]系列转换为datetime的对象dtype系列。日期对象。后者通常使用pd.Series.dt构造。date,存储为指针数组,相对于纯基于numpy的序列效率较低。
由于您关心的是写入CSV时的格式,只需使用to_csv的date_format参数。例如:
df.to_csv(filename, date_format='%Y-%m-%d')
有关格式约定,请参阅Python的strftime指令。
Pandas v0.13+:使用带date_format参数的to_csv
尽可能避免将datetime64[ns]系列转换为datetime的对象dtype系列。日期对象。后者通常使用pd.Series.dt构造。date,存储为指针数组,相对于纯基于numpy的序列效率较低。
由于您关心的是写入CSV时的格式,只需使用to_csv的date_format参数。例如:
df.to_csv(filename, date_format='%Y-%m-%d')
有关格式约定,请参阅Python的strftime指令。