如何降低日期精度(秒)

时间:2019-03-04 13:19:34

标签: python pandas datetime

我有一个csv文件df,可以通过以下命令读取该文件:

pd_index=pd.read_csv(".../...",index_col="index",parse_dates=["created_at"])

输出为:

              created_at        ...         user_screen_name
index                            ...                         
0     2019-02-27 05:36:29        ...          realDonaldTrump
1     2019-02-27 05:31:21        ...          realDonaldTrump
2     2019-02-26 18:08:14        ...          realDonaldTrump
3     2019-02-26 04:50:37        ...          realDonaldTrump

我希望得到以下结果:

              created_at        ...         user_screen_name
index                            ...                         
0     2019-02-27 05:36:00        ...          realDonaldTrump
1     2019-02-27 05:31:00        ...          realDonaldTrump
2     2019-02-26 18:08:00        ...          realDonaldTrump
3     2019-02-26 04:50:00        ...          realDonaldTrump

我尝试了以下命令:

df.created_at=df.created_at.replace(second=0)

不幸的是,我得到了这个错误:

TypeError: replace() got an unexpected keyword argument 'second'

有人知道我如何将秒替换为00来获得理想的结果吗?

2 个答案:

答案 0 :(得分:0)

在几分钟内使用Series.dt.floor

df.created_at=df.created_at.dt.floor('T')
#alternative
#df.created_at=df.created_at.dt.floor('min')
print (df)
           created_at user_screen_name
0 2019-02-27 05:36:00  realDonaldTrump
1 2019-02-27 05:31:00  realDonaldTrump
2 2019-02-26 18:08:00  realDonaldTrump
3 2019-02-26 04:50:00  realDonaldTrump

答案 1 :(得分:0)

这有点“硬编码”,但可能有效:

df.created_at=df.created_at[:-3]+":00"