查找天数差异(与当前日期比较)

时间:2018-12-17 10:20:52

标签: python pandas datetime

我有一个销售数据如下的数据框:

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

我正在尝试过滤比当前日期大3天的bill_no。下面是我尝试过的:

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 :(得分:2)

您可以使用to_datetimeTimestamp.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