我有一个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来获得理想的结果吗?
答案 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"