我有几个 CSV 文件的格式:
Year,Day,Hour,Min,Sec.,P1'S1
2003, 1, 0, 0,12.22, 0.541
2003, 1, 1, 0,20.69, 0.708
2003, 1, 2, 0, 4.95, 0.520
2003, 1, 3, 0,13.42, 0.539
...
(其中day是一年中的哪一天),我正在尝试使用pandas库来阅读它们(到目前为止,这似乎是一个很棒的库)。
有一个内置函数可以读取 pandas 中的 CSV,甚至更好的是,该函数应该检查列的日期类型。并自动将其用作索引(这对于我正在做的事情来说非常完美)。
问题是,我无法让它处理这种格式的日期数据。
我试过:
data = pd.read_csv("csvFile.csv", index_col=[0, 1], , index_col=[0, 1, 2, 3, 4] parse_dates=True)
但它只能正确获取年份:
In [36]: data.index
Out[36]:
MultiIndex
[(<Timestamp: 2003-09-04 00:00:00>, 1, 0, 0, 12.22)
(<Timestamp: 2003-09-04 00:00:00>, 1, 1, 0, 20.69)
(<Timestamp: 2003-09-04 00:00:00>, 1, 2, 0, 4.95) ...,
(<Timestamp: 2003-09-04 00:00:00>, 365, 21, 0, 3.77)
(<Timestamp: 2003-09-04 00:00:00>, 365, 22, 0, 14.6)
(<Timestamp: 2003-09-04 00:00:00>, 365, 23, 0, 13.36)]
从文档中,我看到您可以在 pandas 的 read_csv 函数中指定“date_parser”属性。但是文档没有显示如何并且我无法弄清楚。任何有这方面经验的人都可以提供帮助。
干杯,布鲁诺