Python 基于两个日期时间之间的差异创建布尔数据帧

Python 基于两个日期时间之间的差异创建布尔数据帧,python,pandas,datetime,boolean,Python,Pandas,Datetime,Boolean,我有一个名为“间隙”的熊猫数据框,看起来像这样: Index Gap in days 0 2 days 00:00:00 1 8 days 00:00:00 2 4 days 00:00:00 3 15 days 00:00:00 ... 201 21 days 00:00:00 日期格式已转换为标准日期时间格式。我想创建一个简单的布尔数据框,如果间隔天数大于7天,则返回TRUE,否则返回FALSE 我最初的尝试很简单:

我有一个名为“间隙”的熊猫数据框,看起来像这样:

Index    Gap in days
0        2 days 00:00:00
1        8 days 00:00:00
2        4 days 00:00:00
3        15 days 00:00:00
...
201      21 days 00:00:00
日期格式已转换为标准日期时间格式。我想创建一个简单的布尔数据框,如果间隔天数大于7天,则返回TRUE,否则返回FALSE

我最初的尝试很简单:

morethan7days = gaps > 7
我得到的错误是:

TypeError: invalid type comparison

有人知道我做错了什么以及如何纠正吗?

没关系,我通过反复试验得到了答案:

morethan7days = gaps > datetime.timedelta(days=7)

您可以将时间增量转换为天,然后按整数进行比较:

gaps = df['Gap in days']
morethan7days = gaps.dt.days > 7
print (morethan7days)
0    False
1     True
2    False
3     True
4     True
Name: Gap in days, dtype: bool
另一种解决方案是:

gaps = df['Gap in days']
morethan7days = gaps > pd.Timedelta(7, unit='d')