Преобразовать целое число в timedelta с пандами - PullRequest
0 голосов
/ 21 октября 2018

У меня есть переменная,

minhold=100

Это целое число

Я хочу преобразовать его, чтобы понимать как "100 дней"

Как мне сделатьэтот?

Мне известна функция pd.to_datetime, но я не могу заставить ее работать.

По сути, у меня есть другая переменная в моем фрейме данных, которая является временем:

x=Timedelta('104 days 00:00:00')

Если я это сделаю, x> minhold, я ожидаю True, поскольку 104 дня> 100 дней,но это выдает ошибку:

TypeError: Cannot compare type 'Timedelta' with type 'int64'

наконец, если я сделаю:

pd.to_timedelta(minhold)

Это дает мне Timedelta('0 days 00:00:00.000000'), чего я не ожидаю.Я ожидал 100 дней.

Ответы [ 2 ]

0 голосов
/ 21 октября 2018
>>> pd.Timedelta('100D')
>>> Timedelta('100 days 00:00:00')

или

>>> pd.Timedelta(100, 'D')
>>> Timedelta('100 days 00:00:00')

даст вам 100-дневный период времени.Я выяснил это, посмотрев документацию .

0 голосов
/ 21 октября 2018

Из документов укажите unit='D' (для "дней") при вызове to_timedelta.

>>> pd.to_timedelta(100, unit='D')
Timedelta('100 days 00:00:00')
...