Добавление минут к Пандам DatetimeIndex - PullRequest
0 голосов
/ 01 декабря 2018

У меня есть индекс, содержащий даты.

DatetimeIndex(['2004-01-02', '2004-01-05', '2004-01-06', '2004-01-07',
           '2004-01-08', '2004-01-09', '2004-01-12', '2004-01-13',
           '2004-01-14', '2004-01-15',
           ...
           '2015-12-17', '2015-12-18', '2015-12-21', '2015-12-22',
           '2015-12-23', '2015-12-24', '2015-12-28', '2015-12-29',
           '2015-12-30', '2015-12-31'],
          dtype='datetime64[ns]', length=3021, freq=None)

Теперь для каждого дня я хотел бы генерировать каждую минуту (24 * 60 = 1440 минут) в течение каждого дня и создавать индекс для всех дней иминут.

Результат должен выглядеть следующим образом:

['2004-01-02 00:00:00', '2004-01-02 00:01:00', ..., '2004-01-02 23:59:00',
 '2004-01-03 00:00:00', '2004-01-03 00:01:00', ..., '2004-01-03 23:59:00',
 ...
 '2015-12-31 00:00:00', '2015-12-31 00:01:00', ..., '2015-12-31 23:59:00']

Есть ли хитрый способ для этого?

1 Ответ

0 голосов
/ 01 декабря 2018

Вы можете использовать .asfreq() здесь:

>>> import pandas as pd 
>>> days = pd.date_range(start='2018-01-01', days=10)
>>> df = pd.DataFrame(list(range(len(days))), index=days)
>>> df.asfreq('min')                                                                                                                                     
                       0
2018-01-01 00:00:00  0.0
2018-01-01 00:01:00  NaN
2018-01-01 00:02:00  NaN
2018-01-01 00:03:00  NaN
2018-01-01 00:04:00  NaN
2018-01-01 00:05:00  NaN
2018-01-01 00:06:00  NaN
# ...

>>> df.shape                                                                                                                                             
(10, 1)

>>> df.asfreq('min').shape                                                                                                                               
(12961, 1)

Если по какой-то причине это не сработает, вы также можете захотеть взглянуть на pd.MultiIndex.from_product();затем pd.to_datetime() каскадный результат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...