让我们取以下数据帧:
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