什么是获取一个包含特定时间的数据框所有行的最有效方法?
例如,如果我创建以下数据帧:
df = DataFrame(index=pd.date_range('2010-01-01', '2016-04-01',freq='min'))
然后尝试获取所有时间为下午3点的行:
%timeit df[df.index.time == time(15,0)]
1 loops, best of 3: 9.29 s per loop
它能够工作,但速度非常慢。
另外,如何在两个特定时间之间高效地进行切片?
%timeit df[(df.index.time >= time(15,0)) & (df.index.time <= time(16,0))]
1 loops, best of 3: 18.7 s per loop