使用 pandas/python 从导入的 CSV 中选择日期

Picking dates from an imported CSV with pandas/python

我有一个包含日常数据的.csv文件,如下:

some 19 more header rows
Werte
01.01.1971 07:00:00   ;     0.0
02.01.1971 07:00:00   ;     1.2
...and so on

我导入的是:

RainD=pd.read_csv('filename.csv',skiprows=20,sep=';',dayfirst=True,parse_dates=True)

结果,我得到

In [416]: RainD
Out[416]: 
<class 'pandas.core.frame.DataFrame'>
DatetimeIndex: 14976 entries, 1971-01-01 07:00:00 to 2012-01-01 07:00:00
Data columns:
Werte:    14976  non-null values
dtypes: object(1)

所以它是一个 Dataframe,但也许 Timeseries 可能是正确的方式?但是我该如何导入它呢? pandas 文档在 read_csv 中列出了一个 dtype 选项,但没有关于我 can/should 指定内容的信息。

但另一方面,DatetimeIndex: 在我看来 pandas 很清楚我在这里处理日期这一事实,但仍然使它成为一个 Dataframe。为此,RainD['1971'] 之类的东西只会导致 u'no item named 1971' 键错误。

我觉得我只是遗漏了一些非常明显的东西,因为时间序列分析似乎是 pandas 的目标。

我的另一个第一个想法是 pandas 可能会因为日期写在 正确的 中(即 dd.mm.yyyy ;)而感到困惑) 方式,但是 RainD.head() 告诉我我可以很好地消化它。

问候 江城

EdChum 的 df[df.index.year == 1971] 解决了我的问题。

我可能还有一些其他问题(即 pandas 的过时版本),但现在,我可以继续工作。