我正在尝试从 csv 文件的不规则时间序列中获取每日平均值。
csv 文件中的数据从 2013 年 9 月 20 日 13:00 开始,一直持续到 2014 年 1 月 14 日 10:57:
Time Values
20/09/2013 13:00 5.133540
20/09/2013 13:01 5.144993
20/09/2013 13:02 5.158208
20/09/2013 13:03 5.170542
20/09/2013 13:04 5.167899
20/09/2013 13:25 5.168780
20/09/2013 13:26 5.179351
...
我用以下命令导入它们:
import pandas as pd
data = pd.read_csv('<file name>', parse_dates={'Timestamp':'Time']},index_col='Timestamp')
这导致
Values
Timestamp
2013-09-20 13:00:00 5.133540
2013-09-20 13:01:00 5.144993
2013-09-20 13:02:00 5.158208
2013-09-20 13:03:00 5.170542
2013-09-20 13:04:00 5.167899
2013-09-20 13:25:00 5.168780
2013-09-20 13:26:00 5.179351
...
然后我就这么做了
dataDailyAv = data.resample('D', how = 'mean')
这导致
Values
Timestamp
2013-01-10 8.623744
2013-01-11 NaN
2013-01-12 NaN
2013-01-13 NaN
2013-01-14 NaN
...
换句话说,结果包含原始数据中未出现的日期,并且对于其中一些日期(例如 2013 年 1 月 10 日),甚至出现了一个值。
关于出了什么问题有什么想法吗?
Thanks.
编辑:显然日期解析出现问题:01/10/2013 被解释为 2013 年 1 月 10 日,而不是 2013 年 10 月 1 日。这可以通过编辑 csv 文件中的日期格式来解决,但有没有办法指定read_csv中的日期格式?