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

标签 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'

最佳答案

您可以通过 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/

相关文章:

java - 来自 Wolfram 和 numpy 的相同输入的不同标准偏差

python - Factory-boy属性属性?

python - 两个时间实例之间的差异

swift - 你如何比较 Swift 中日期的时间?

date - Bokeh - 如何正确设置和控制 xaxis 的日期时间 - 可能的错误?

python - 目录名有空格时如何使用copyfile?

python - 使用标准库 Decimal 将运算符应用于非常长的十进制数时抑制科学记数法

pandas - 如何在同一个 ipython 笔记本单元格中绘制两个 Pandas 系列自动使用不同的颜色?

python - 'Dict.get()' 等同于 pandas 系列?

python-3.x - 如何在 pandas 数据框中用用户定义的值填充 NaN