如何找到今天的日期和数据框中的日期列之间的差异

时间:2017-04-03 23:52:15

标签: python date datetime

我试图根据duedates(我的数据框中的一列)和今天的日期之间的差异来对数据框进行子集

我首先使用today = datetime.now()设置今天的约会对象 我希望找到距离今天不到3天的日期。

以下是我的尝试:

DueIn3Days= data.loc[(["Deadline"]-today).days<=3]

这会返回错误:"unsupported operand type(s) for -: 'list' and 'datetime.datetime'"

DueIn3Days= data[("lDeadline"-today).days<=3]

这会返回错误:'Series' object has no attribute 'days'

1 个答案:

答案 0 :(得分:0)

您可能想要使用dt time accessor功能

import pandas as pd
rng = pd.date_range('3/28/2017', periods=12, freq='D')
df = pd.DataFrame(rng, columns = ['Deadline'])
print df

timedelta = (df["Deadline"]-pd.datetime.now().date()).dt.days
DueIn3Days  = df[(timedelta <=3) & (timedelta>0)]
print DueIn3Days

结果

     Deadline
0  2017-03-28
1  2017-03-29
2  2017-03-30
3  2017-03-31
4  2017-04-01
5  2017-04-02
6  2017-04-03
7  2017-04-04
8  2017-04-05
9  2017-04-06
10 2017-04-07
11 2017-04-08

    Deadline
7 2017-04-04
8 2017-04-05
9 2017-04-06