检查TimeDelta对象是否等于特定时间

时间:2017-01-21 16:27:18

标签: python pandas

我有一段代码:

df['time'].iloc[1]+df['time'].iloc[2]

返回:

Timedelta('0 days 00:04:51')

我正在尝试编写一个检查其值的if语句:

if df['time'] == '0 days 00:04:51':
             print ('True')
else:
          print ('False')

正在打印False,我不知道为什么。如何检查Timedelta对象的值?

3 个答案:

答案 0 :(得分:1)

这应该有效:

if df['time'] == timedelta(days = 0, minutes = 4, seconds = 51):
    print("True")
else:
    print("False")

答案 1 :(得分:0)

您在这里做的是将timedelta("0 days 00:04:51")与字符串"0 days 00:04:51"进行比较,而应该将其与类似对象进行比较,因此:

if df['time']==timedelta(0,291):
    print("True")
else:
    print("False")

请注意timedelta:

  • 没有资本。
  • 以0,291为参数;这意味着“0天291秒”。

然而,这样做的方法较短,因此:

print(str(df['time']==timedelta(0,291)))

这具有完全相同的结果,并且更紧凑。

答案 2 :(得分:0)

除了已经提供的解决方案之外,还有另一种方法可以检查Python3中的def tet1(): canvas.move(b, 0, 30) x1, y1, x2, y2 = canvas.coords(b) result = canvas.find_overlapping(x1, y1, x2, y2) if a in result: print('b overlaps a') canvas.delete(b) else: root.after(250, tet1) 值:

timedelta