TypeError: can't compare datetime.timedelta to int 问题解决

你在这里

TypeError: can't compare datetime.timedelta to int 问题解决

Python中,时间相减得到时间差类型,该类型如果直接与整数组成表达式运算,就会报错TypeError: can't compare datetime.timedelta to int。
例如,先使用pandas的to_datatime转换的时间,并相减:
import pandas as pd
date_range = pd.to_datetime('2017-12-28') - pd.to_datetime('2017-12-15')
此时如果将df即是时间差类型timedelta。如果用于下面的比较判断时就会报上述错误:
if(date_range>10):
这是因为类型不匹配的原因。此时可以将其转换为秒,然后进行比较,具体方法如下:
if(date_range.total_seconds() <= 864000):
当然,还可以使用下面的构造函数,将间隔时间转换为timedelta类型再进行比较,构造函数如下:
datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)
即,示例也可以用下面的方法进行判断:
if (date_range>timedelta(days=10)):
著作权归作者所有。商业转载请联系本站作者获得授权,非商业转载请注明出处 ZZKOOK

您可能感兴趣的文章

登录以发表评论

评论

博主应该发出ZZKOOK召集令,更多些内容就完美了。。。

 
161
马卫星的头像

什吗时候开发才能不那么难

 
140
烟雨南城的头像

拜托zzkook给点入门级的

 
156
红茶的头像

这么好的经验,给跪了

 
141
高不帅的头像

春风十里,ZZKOOK。

 
140
千钟粟的头像