Вычитание даты, приводящее к "TypeError: невозможно выполнить Truediv с этим типом индекса datetimeindex" - PullRequest
2 голосов
/ 29 мая 2020

Я пытаюсь вычесть дату из столбца даты и вычисляю разницу в месяцах:

pd.to_datetime('2020-01-20')-pd.to_datetime(df['date'])/np.timedelta64(1,'M')

Но я получаю

> TypeError: cannot perform __truediv__ with this index type datetimeindex

Как мне исправить свой код в чтобы найти разницу в месяцах?

Ответы [ 2 ]

2 голосов
/ 29 мая 2020

Думаю, вам не хватает пары скобок:

(pd.to_datetime('2020-01-20')-pd.to_datetime(df['date'])) / pd.to_timedelta(`1min')

^                                                       ^
this                                             and this 
0 голосов
/ 29 мая 2020

Вот краткий обходной путь с использованием UNIX меток времени.

import pandas as pd
import numpy as np
x = (pd.Timestamp('2020-01-20'))
y = pd.to_datetime('2019-01-20')
print(f"Approximately {int((x.value - y.value)/2592000/ (10 ** 9))} months have passed.")

Примечание: я изменил вторую дату, так как вы берете ее из df, а мы не знаем, каково значение df. Выход enter image description here

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