我有一个数据帧df:
TIMESTAMP equipement1 equipement2
2016-05-10 13:20:00 0.000000 0.000000
2016-05-10 14:40:00 0.400000 0.500000
2016-05-10 15:20:00 0.500000 0.500000
我试图通过5分钟的步骤迭代时间戳。
我尝试:pd.date_range(start, end, freq='5 minutes')
但我遇到了时间戳格式的问题。
" ValueError:无法评估5分钟"
有什么想法可以帮我解决这个问题吗?
谢谢
答案 0 :(得分:3)
首先,确保您的TIMESTAMP列是日期时间而不是字符串(例如df['TIMESTAMP'] = pd.to_datetime(df.TIMESTAMP)
)。
接下来,使用此列作为数据帧的索引。要使这个永久化,df.set_index('TIMESTAMP
,inplace = True)`。
现在您可以resample查看任何给定频率(例如30min
)并使用不同的聚合方法,例如sum
,mean
(默认值),lambda函数等等。)
或者,您可以添加.fillna(0)
以用零替换NaN。
>>> df.set_index('TIMESTAMP').resample('30min', how='sum')
equipement1 equipement2
TIMESTAMP
2016-05-10 13:00:00 0.0 0.0
2016-05-10 13:30:00 NaN NaN
2016-05-10 14:00:00 NaN NaN
2016-05-10 14:30:00 0.4 0.5
2016-05-10 15:00:00 0.5 0.5