Разница между двумя датами дает разные результаты - PullRequest
0 голосов
/ 14 ноября 2018

Ниже приведен пример типового фрейма данных pandas, и я пытаюсь найти разницу между датами в двух строках (с наименьшей датой в качестве основы - в данном случае вторая строка).Разница между двумя датами составляет> 90 дней, поэтому я ожидаю «ложь» для двух строк.Но почему-то результат выглядит иначе.

PH_number   date        Type
H09879721   2018-10-29  AccountHolder
H09879731   2018-07-24  AccountHolder

Code:
print(df.date.diff()<=pd.Timedelta(90,'d'))

Current Result:
False
True

Expected Result:
False
False

Буду признателен за любые предложения.

1 Ответ

0 голосов
/ 14 ноября 2018

Использовать abs Это необходимо, когда разница отрицательна:

df.date.diff().abs().dt.days<=90

Или:

df.date.diff().abs().dt.days.le(90)

Или:

df.date.diff().abs()<=pd.Timedelta(90,'d')

Или:

df.date.diff().abs().le(pd.Timedelta(90,'d'))

0    False
1    False
Name: date, dtype: bool
...