我有一个包含销售数据的数据框,如下所示:
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'
最佳答案
您可以通过 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
关于python - 查找天数差异(与当前日期比较),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53813142/