让我们采用以下DataFrame:
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
我非常感谢任何帮助。
安迪
我正在使用非官方版本的Pandas(特别是'0.13.1-223-g7cd9496'),可能问题仅限于此版本。使用官方的0.13.1版本后,我的代码完美无缺。
感谢所有
答案 0 :(得分:2)
我可以通过这种方式得到它:
>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