Нахождение разницы дней (сравнение с текущей датой) - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть датафрейм с данными о продажах, как показано ниже:

bill_no,sale_date
1001,2018-12-11
1002,2018-12-15
1003,2018-12-14
1004,2018-12-14
1005,2018-12-17

Я пытаюсь отфильтровать bill_no, которые старше на 3 дня по сравнению с текущей датой.Вот что я пробовал:

today = datetime.date.today().isoformat()
today

Вышеуказанное возвращает 2018-12-17

Я пытаюсь проверить df ['sale_date'] с сегодняшним днем, как показано ниже:

df['sale_date'] = (df['sale_date'] - today)

Выше выдает ошибку

TypeError: unsupported operand type(s) for -: 'str' and 'str'

1 Ответ

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

Вы можете преобразовать все данные в дату-время на to_datetime с помощью Timestamp.normalize:

today = pd.Timestamp.today().normalize()
print (today)
2018-12-17 00:00:00

df['sale_date'] = pd.to_datetime(df['sale_date'])

df['sale_date'] = (df['sale_date'] - today)
print (df)
   bill_no sale_date
0     1001   -6 days
1     1002   -2 days
2     1003   -3 days
3     1004   -3 days
4     1005    0 days
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...