Python 具有时间增量范围的滤波序列

Python 具有时间增量范围的滤波序列,python,pandas,timedelta,Python,Pandas,Timedelta,我有三个数据集,它们都是timedelta64: data1 1 17:49:43 2 09:44:37 3 10:45:52 4 12:58:31 5 16:09:18 6 14:42:53 7 16:19:24 8 15:13:03 9 13:56:40 data2 1 17:50:17 2 09:47:09 3 10:46:10 4 13:02:13 5 16:09:16 6 14:46:14 7 16:20:16 8

我有三个数据集,它们都是timedelta64:

data1
1   17:49:43
2   09:44:37
3   10:45:52
4   12:58:31
5   16:09:18
6   14:42:53
7   16:19:24
8   15:13:03
9   13:56:40

data2
1   17:50:17
2   09:47:09
3   10:46:10
4   13:02:13
5   16:09:16
6   14:46:14
7   16:20:16
8   15:14:15
9   14:04:14

data3
1   00:00:34
2   00:02:32
3   00:00:18
4   00:03:42
5   23:59:58
6   00:03:21
7   00:00:52
8   00:01:12
9   00:07:34
我申请:

df_temp = data3['14:00:00' < data1 < '14:50:00'].mean()
df_temp=data3['14:00:00'
然后,我得到一个错误:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-234-1eb15c81506e> in <module>()
----> 1 df_temp = data3['14:00:00' < data1 < '14:50:00'].mean()

/anaconda/lib/python3.6/site-packages/pandas/core/generic.py in __nonzero__(self)
    951         raise ValueError("The truth value of a {0} is ambiguous. "
    952                          "Use a.empty, a.bool(), a.item(), a.any() or a.all()."
--> 953                          .format(self.__class__.__name__))
    954 
    955     __bool__ = __nonzero__

ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
---------------------------------------------------------------------------
ValueError回溯(最近一次调用上次)
在()
---->1 df_temp=data3['14:00:00'953.格式(自身名称)
954
955 uuuuu bool uuuuuu=uuuuu非零__
ValueError:序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all()。

如何更正它?

解决此问题的一种方法是将其转换为秒,然后只比较整数:

x, y = pd.to_timedelta('14:00:00').seconds, pd.to_timedelta('14:50:00').seconds

df_temp = data3[data1.dt.seconds.between(x, y)].mean()