Pandas:用DateTime对象查询时间序列的正确方法



让我们取以下数据帧:

df = pd.DataFrame({
 'Branch' : 'A A A A A B'.split(),
 'Date' : [
 pd.Timestamp('2009-04-05 01:30:00+0000', tz='UTC'),
 pd.Timestamp('2009-02-05 00:21:01+0000', tz='UTC'),
 pd.Timestamp('2010-05-05 07:52:20+0000', tz='UTC'),
 pd.Timestamp('2009-08-05 05:33:00+0000', tz='UTC'),
 pd.Timestamp('2011-02-05 02:09:33+0000', tz='UTC'),
 pd.Timestamp('2008-01-05 02:43:00+0000', tz='UTC'),
 ]})
 df.set_index('Date', inplace=True)

以及以下变量:

test_1 = dateutil.parser.parse('2010-05-05T07:52:20Z')

是否有可能获得与测试日期匹配的DataFrame记录?有人知道为什么以下不起作用吗?

我已经试过了

df.ix[test_1]

但这引发了一个例外。

此外,我尝试使用相同的类型通过做:

test_2 = pd.Timestamp(test_1)
df.ix[test_2]

但这也引发了一个例外。

两次的预期都是:

KeyError: 1357045200000000000

我非常感谢任何帮助。

Andy

解决方案

我正在处理Pandas的非官方版本(特别是"0.13.1-223-g7cd9496"),可能问题仅限于此版本。在使用了官方的0.13.1版本之后,我的代码运行得非常完美。

感谢所有

我可以通过以下方式获得:

>test_1 = dateutil.parser.parse('2010-05-05T07:52:20Z')
>df['Branch'][test_1]
>'A'

使用进行测试

>df.ix[test_1]
Branch    A
Name: 2010-05-05 07:52:20+00:00, dtype: object

对我也有用。。。

使用:
python 2.7.5-5
python pandas 0.12.0-2

相关内容

  • 没有找到相关文章

最新更新