Как добавить произвольное количество времени к дублированным датам в пандах DataFrame - PullRequest
0 голосов
/ 13 июня 2019

Мне нужно добавить временную дельту произвольной суммы к дублированным датам в панде DataFrame.

У меня есть фрейм данных, где не более двух строк с одинаковой датой на значение «area» и «Дата".Есть еще одна колонка, в которой говорится, соответствует ли она утру или вечеру.Я хотел бы добавить, скажем, 8 часов к датам, соответствующим вечерним строкам.

До сих пор мне удавалось добавить timedelta к дублированным датам, но при этом не учитывается, если этоутро или вечер.Также, таким образом, я не могу добавить произвольную сумму timedelta.

Ввод df:

          date day_time  area  value
0   2019-02-13  evening     1   21.0232
1   2019-02-13  evening     2   28.5190
2   2019-02-13  evening     3   33.0943
3   2019-02-13  evening     4   21.9933
4   2019-02-14  evening     1   20.1975
5   2019-02-14  evening     2   34.5405
6   2019-02-14  evening     3   33.9600
7   2019-02-14  evening     4   29.9888
8   2019-02-14  morning     1   13.2533
9   2019-02-14  morning     2   25.2858
10  2019-02-14  morning     3   26.6155
11  2019-02-14  morning     4   21.9388
time_delta = pd.to_timedelta(df.groupby(['date']).cumcount(), unit="h")
df['date'] = date['date'] + time_delta

Ожидаемый результат:

                   date day_time  area  value
0   2019-02-13 08:00:00  evening     1   21.0232
1   2019-02-13 08:00:00  evening     2   28.5190
2   2019-02-13 08:00:00  evening     3   33.0943
3   2019-02-13 08:00:00  evening     4   21.9933
4   2019-02-14 08:00:00  evening     1   20.1975
5   2019-02-14 08:00:00  evening     2   34.5405
6   2019-02-14 08:00:00  evening     3   33.9600
7   2019-02-14 08:00:00  evening     4   29.9888
8   2019-02-14 00:00:00  morning     1   13.2533
9   2019-02-14 00:00:00  morning     2   25.2858
10  2019-02-14 00:00:00  morning     3   26.6155
11  2019-02-14 00:00:00  morning     4   21.9388
...