我有一個包含 10K 行的資料框,前 4 行如下圖所示:

正如您所看到的,小時可能會有所不同,我試圖通過“for”回圈僅將小時值替換為“00”,但這需要一段安靜的時間。代碼是:
for i in range(0,len(task_df)):
task_df["TARGET_END_DATE"].iloc[i]=pd.datetime(year=task_df["TARGET_END_DATE"].iloc[i].year,
month=task_df["TARGET_END_DATE"].iloc[i].month,
day=task_df["TARGET_END_DATE"].iloc[i].day,
hour=0,
minute=0)
有沒有更快的方法呢?
uj5u.com熱心網友回復:
如果只需要00幾個小時的解決方案更簡單/更快Series.dt.floor :
task_df["TARGET_END_DATE"] = task_df["TARGET_END_DATE"].dt.floor('d')
如果需要一些小時,例如10:00添加它:
task_df["TARGET_END_DATE"] = (task_df["TARGET_END_DATE"].dt.floor('d')
pd.Timedelta(10, 'hour'))
uj5u.com熱心網友回復:
您可以使用:
task_df["TARGET_END_DATE"].dt.normalize()
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/409854.html
標籤:
上一篇:回傳熊貓資料框每一行中組的大小
