У меня есть pandas dataframe как:
df
DateTime Qty
1/1/2018 0:00 0.6
1/1/2018 0:15 0.6
1/1/2018 0:30 0.4
1/1/2018 0:45 0.5
1/1/2018 1:00 1.0
1/1/2018 1:15 0.2
1/1/2018 1:30 0.2
1/1/2018 1:45 0.5
1/1/2018 1:45 0.0
1/1/2018 2:00 0.3
Я хочу изменить приведенные выше данные на:
df
DateTime Qty DateTime2
1/1/2018 0:00 0.6 1/1/2018 0:00
1/1/2018 0:15 0.6 1/1/2018 1:00
1/1/2018 0:30 0.4 1/1/2018 1:00
1/1/2018 0:45 0.5 1/1/2018 1:00
1/1/2018 1:00 1.0 1/1/2018 1:00
1/1/2018 1:15 0.2 1/1/2018 2:00
1/1/2018 1:30 0.2 1/1/2018 2:00
1/1/2018 1:45 0.5 1/1/2018 2:00
1/1/2018 1:45 0.0 1/1/2018 2:00
1/1/2018 2:00 0.3 1/1/2018 2:00
Есть ли питонский способ сделать это.Решение, которое у меня есть, состоит в том, чтобы получить минуты, а когда оно больше 15, добавить час к часу даты и времени
Мое решение:
df['hrAdder'] = np.where(pd.DatetimeIndex(df['DateTime2'].values).minute >= 15., 1, 0)
df['DateTime3'] = df['DateTime2'] + pd.to_timedelta(df['hrAdder'], unit='h')