使用 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 的过时版本),但现在,我可以继续工作。
我有一个包含日常数据的.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 的过时版本),但现在,我可以继续工作。