首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我可以对pandas中的无序时间序列索引进行切片吗?

我可以对pandas中的无序时间序列索引进行切片吗?
EN

Stack Overflow用户
提问于 2019-01-30 23:18:54
回答 1查看 95关注 0票数 0

我正在看Wes关于熊猫时间序列的视频。他提到,如果您尝试对索引无序的时间序列索引进行切片,Pandas会抛出异常。

然而,当我自己尝试时,它似乎起作用了。不过,我不明白为什么。

下面是一个例子:

我使用了Wes McKinney talk中关于熊猫时间序列的一些代码示例(它在YouTube上)。但是,预期输出与实际输出不匹配。这个视频有点旧,来自2012年,所以也许他在后来的Pandas版本中做了这样的改变,但我想知道是不是这样,或者是我误解了他,或者我做错了什么。

我在基于Ubuntu 18.04的系统上运行Pandas版本0.22.0。

提前谢谢。

代码语言:javascript
复制
import numpy as np
import pandas as pd
ts  = pd.Series(np.arange(1000), index = date_range)
ts2 = ts.take(np.random.permutation(len(ts)))
ts2['2015-01-01':'2016-01-01']

我希望能拿到一个TimeSeriesError: Partial indexing only valid for ordered series.

实际上我得到的数据是这样的:

代码语言:javascript
复制
2015-08-27    238
2015-04-11    100
2015-08-17    228
2015-12-10    343
2015-08-06    217
2015-02-16     46
2015-01-29     28
...
2015-06-08    158
2015-04-16    105
2015-03-08     66
2015-11-22    325
2015-10-21    293
2015-10-04    276
2015-08-02    213
2015-09-19    261
EN

回答 1

Stack Overflow用户

发布于 2019-01-30 23:33:52

它适用于字符串索引,但不适用于预期区域之外的datetime对象。(尽管它并不总是可预测的。)

代码语言:javascript
复制
import datetime as dt
ts2['2015-01-01':'2021-01-01']  # works
ts2[dt.date(2015, 1, 1):dt.date(2016, 1, 1)]  # works
ts2[dt.date(2015, 1, 1):dt.date(2021, 1, 1)]  # ValueError

an issue on Github,但Jeff Reback说这不是一个bug;文档确实警告过"unexpected behaviour

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54443852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档