Python 如何降低日期的精度(秒)
我有一个csv文件df,我使用以下命令读取该文件:Python 如何降低日期的精度(秒),python,pandas,datetime,Python,Pandas,Datetime,我有一个csv文件df,我使用以下命令读取该文件: pd_index=pd.read_csv(".../...",index_col="index",parse_dates=["created_at"]) df.created_at=df.created_at.replace(second=0) 输出为: created_at ... user_screen_name index
pd_index=pd.read_csv(".../...",index_col="index",parse_dates=["created_at"])
df.created_at=df.created_at.replace(second=0)
输出为:
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
我尝试了以下命令:
pd_index=pd.read_csv(".../...",index_col="index",parse_dates=["created_at"])
df.created_at=df.created_at.replace(second=0)
不幸的是,我得到了这个错误:
TypeError: replace() got an unexpected keyword argument 'second'
是否有人知道我如何通过将秒数替换为00来获得所需的结果?使用分钟:
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
与分钟一起使用:
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
这有点“硬编码”,但可能会起作用:
df.created_at=df.created_at[:-3]+":00"
这有点“硬编码”,但可能会起作用:
df.created_at=df.created_at[:-3]+":00"