我有一個帶有“日期時間”列的 Pandas 資料框,其中包含一個日期時間:)
ColA Datetime ColB
---- ------------------- ----
1 2021-01-01 05:02:22 SomeVal
2 2021-01-01 01:01:22 SomeOtherVal
我想創建一個只有兩個規則的新日期列:
1. If the "time" element of datetime is between 00:00:00 and 02:00:00 then make Date the "date" element of Datetime - 1 (the previous day)
2. Otherwise make Date the "date" element of Datetime as is
為了實作這一點,我將不得不對日期時間列進行檢查。那會怎樣?另外,如果我不需要迭代資料框來實作這一點,我會加分。
uj5u.com熱心網友回復:
將值轉換為日期時間,如果時間不像在 中02:00:00減去一天Series.mask:
from datetime import time
df['Datetime'] = pd.to_datetime(df['Datetime'])
df['Datetime'] = df['Datetime'].mask(df['Datetime'].dt.time <= time(2, 0, 0),
df['Datetime'] - pd.Timedelta('1 day'))
print (df)
ColA Datetime ColB
0 1 2021-01-01 05:02:22 SomeVal
1 2 2020-12-31 01:01:22 SomeOtherVal
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/331247.html
