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')