我正在设置一个新列作为 Python 中的日差(在 Jupyter 笔记本上)。
我执行了列日期和当前日期之间的天差。另外,我通过当前日期(当前日期 -/+ 使用 timedelta 函数的输入日期)执行了日期列和新创建日期之间的日期差异。
但是,每当我使用同一列和不同列的 max() 时,日差列都有 NaN 值。这对我来说没有意义,也许我错过了日期类型。当我检查所有类型时,它们似乎都是 datetime64 (我已经转换为 datetime64 )。
我认为原因是没有足够大的日期。但是,它发生在任何特定日期,例如 max(datecolumn)+timedelta(days=i)。
t=data_signups[["date_joined"]].max()
date_joined 2019-07-18 07:47:24.963450 数据类型:datetime64[ns]
t = t + timedelta(30)
date_joined 2019-08-17 07:47:24.963450 数据类型:datetime64[ns]
data_signups['joined_to_today'] = (t - data_signups['date_joined']).dt.days
data_signups.head(2)
缩短...
- date_joined_______________//joined_to_today________
- 2019-05-31 10:52:06.327341 // 南
- 2019-04-02 09:20:26.520272 // 南
然而,它适用于当前的任务,如下所示。
Currentdate = datetime.datetime.now() print(Currentdate) 2019-09-01 17:05:48.934362
before_days=int(input("输入今天之前的天数进行分析"))
30
完毕
last_day_for_analysis = Currentdate - timedelta(days=before_days)
打印(last_day_for_analysis)
2019-08-02 17:05:48.934362
data_signups['joined_to_today'] = (last_day_for_analysis - data_signups['date_joined']).dt.days
data_signups.head(2)
缩短...
- date_joined_______________//joined_to_today________
- 2019-05-31 10:52:06.327341 // 63
- 2019-04-02 09:20:26.520272 // 122
我希望存在日期类型问题。但是,我无法弄清楚,因为它们都是 datetime64。列中没有 NaN 值。
谢谢您的帮助。我是新手,我每天都在努力学习。