【发布时间】:2013-07-27 04:19:01
【问题描述】:
我正在使用 datetime 索引在 pandas 数据帧中寻找 6 小时的间隔,我想使用类似这样的列表理解在间隔之后创建一个包含 datetime 对象的列表:
starttimes = [x for i, x in enumerate(data.index) if ((x - x[i-1]).seconds/3600.0) > 6 ]
但我收到以下类型错误:
TypeError: 'Timestamp' object does not support indexing
错误发生在 enumerate(data.index) 之后,但我不确定为什么会收到此错误,因为我可以这样做:
(data.index[0] - data.index[1]).seconds/3600.0 > 6
很好,输出为真。
我也尝试过这种方式,但得到了不同类型的错误:
starttime = [x for i, x in enumerate(WaterTest) if ((x.index - x.index[i-1]).seconds/3600.0) > 6 ]
TypeError: 'builtin_function_or_method' object has no attribute '__getitem__'
有没有办法轻松做到这一点?我必须在我的代码中经常使用这样的语句,如果能够以类似的方式编写它们会很好。
【问题讨论】:
标签: python datetime pandas list-comprehension typeerror