Инкрементно добавляйте время к столбцу даты в пандах - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть фрейм данных pandas, который имеет временной ряд datetime64 в формате Yr-Month-Day. Я хочу добавить часы и минуты к временному ряду, а также увеличить на 7 минут для каждого наблюдения до следующей даты (начиная с9 утра). Например,

Date
2010-02-05
2010-02-05
2010-02-05
2010-02-12
2010-02-12
2010-02-12

Я хочу вывод как

Date
2010-02-05 09:07
2010-02-05 09:14
2010-02-05 09:21
2010-02-12 09:07
2010-02-12 09:14
2010-02-12 09:21

1 Ответ

0 голосов
/ 07 февраля 2019

Используйте groupby и cumcount, затем выполните небольшую постобработку, чтобы получить нужные единицы времени.

hrs = pd.Timedelta(hours=9)
min = pd.to_timedelta(df.groupby('Date').cumcount().add(1).mul(7), unit='m')
df['Date'] + hrs + min 

0   2010-02-05 09:07:00
1   2010-02-05 09:14:00
2   2010-02-05 09:21:00
3   2010-02-12 09:07:00
4   2010-02-12 09:14:00
5   2010-02-12 09:21:00
dtype: datetime64[ns]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...