Как добавить бесконечность в панды DatetimeIndex - PullRequest
0 голосов
/ 29 октября 2019

У меня есть pandas DatetimeIndex, и я хочу добавить бесконечность в конец, потому что я хочу использовать его для создания бинов - с помощью pandas.cut (..., right = False) - и я хочу, чтобы последний бин имелбесконечность как верхний предел. Таким образом, позже я могу сопоставить любую дату, существующую после последней проиндексированной даты, с последней корзиной. Конечно, я не знаю, как должна выглядеть временная метка бесконечности или есть ли такая. Я открыт для предложений, которые могут представлять бесконечность в этом контексте. Если я не ясно сформулировал это, пожалуйста, попросите дальнейших объяснений.

Пример:

import pandas as pd
import numpy as np


dates = pd.DatetimeIndex(
    ['2007-03-01', '2007-06-01', '2008-09-01', '2010-04-01'],
    dtype='datetime64[ns]', freq=None
)

Я ищу что-то вроде:

dates = dates.append(pd.DatetimeIndex([np.inf]))

Конечноследующий будет работать:

dates = dates.append(pd.DatetimeIndex(['3019-10-05']))

, но, может быть, кто-то захочет использовать его через 1000 лет!

Кроме того, есть ли более эффективное решение вместо append (), которое делаетглубокая копия?

Спасибо!

1 Ответ

0 голосов
/ 29 октября 2019

На самом деле, решение будет добавление pd.Timestamp.max

dates = dates.append(pd.DatetimeIndex([pd.Timestamp.max]))

Результат:

DatetimeIndex([        '2007-03-01 00:00:00',  
                       '2007-06-01 00:00:00',  
                       '2008-09-01 00:00:00',  
                       '2010-04-01 00:00:00',  
             '2262-04-11 23:47:16.854775807'],  
            dtype='datetime64[ns]', freq=None)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...