无法像教程示例那样切片日期时间索引

时间:2018-01-25 07:47:49

标签: python pandas

参考这个' data wrangling'他们给出了一些例子:

#View all observations that occured in 2014
df['2014']
#View all observations that occured in May 2014
df['2014-05']

但是当我尝试这些时,我在Python 3.6笔记本上得到KeyError例外。

我没有看到有关我的DataFrame的任何有趣内容,与示例不同:

df = pd.read_excel(fn, "tb")
df.set_index(['Date'], inplace=True)
print(type(df.index))
print(type(df.index[0]))

的产率:

<class 'pandas.indexes.base.Index'>
<class 'datetime.datetime'>
Out[33]:
    foo bar baz zah
Date                
2010-01-04 00:00:00 8.14    78.29   9.21    6.01
2010-01-05 00:00:00 8.81    79.74   10.14   6.15
2010-01-06 00:00:00 8.91    79.80   10.51   5.70

我的错误发生在:

df['2010']

2 个答案:

答案 0 :(得分:0)

您的索引不是DatetimeIndex。尝试:

df.index = pd.to_datetime(df.index)

然后您就可以使用pandas awesome datetime functionality的所有内容。

答案 1 :(得分:-1)

您可以使用以下两种方法之一

来完成此操作

import datetime df = datetime.datetime.now() print(df.year) print(df.strftime('%Y'))