python - 日差,Python 3.6

标签 python python-3.x pandas dataframe datetime

我有数据框“报告”,日期列为“下一个发布日期”,我想计算否。从今天到“下一个发布日期”之间的天数

>>> Report['Next release date']
1    2020-02-11
2    2019-08-12
3    2019-08-13

“下一个发布日期”的列类型是“str”

Report['Next release date'] = pd.to_datetime(Report['Next release date'], format='%Y-%m-%d')
Report['Date_Diff'] = Report['Next release date'] - datetime.date.today().strftime('%Y-%m-%d')

上面的脚本为日期'2019-08-13' - 今天()给出了零,实际差异是 1 天,但它给出了零 对于“2019-08-12”给出“-1”结果而不是零

请帮忙解决这个问题。

最佳答案

使用Timestamp.floor将时间替换为 00:00:00:

print (pd.to_datetime('today').floor('D'))
2019-08-12 00:00:00

Report['Date_Diff'] = Report['Next release date'] - pd.to_datetime('today').floor('D')
print (Report)
  Next release date Date_Diff
1        2020-02-11  183 days
2        2019-08-12    0 days
3        2019-08-13    1 days

关于python - 日差,Python 3.6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57461422/

相关文章:

python - 将多张卡片发布到时间线并附加视频时超出了截止日期

python - 2 次递归调用的 Big Theta 界限

python - 是否有接受距离矩阵和原始向量的Python Isomap 模块?

Python 日志记录 setLevel() 没有生效

python - 打印到(并覆盖)状态指示器的同一行

python - 在Python中将给定数据框的列的选定值分配给另一个数据框

python pandas - 如何将规范化函数应用于数据框列

python - Pandas dataframe - 将某些行或单元格格式化为 2 d.p

python-3.x - 如何在 Python 中更新文本文件的值

Python如何从我的列表中列出某些数字