2015-03-25 6 views
3

Как мы суммируем временные ряды по часам или мельчайшей детализацией? Если у меня есть временные ряды, подобные следующим, я хочу, чтобы значения были агрегированы по часам. Поддерживает ли панды его или есть отличный способ сделать это в python?Совокупные временные ряды в python

timestamp, value 
2012-04-30T22:25:31+00:00, 1 
2012-04-30T22:25:43+00:00, 1 
2012-04-30T22:29:04+00:00, 2 
2012-04-30T22:35:09+00:00, 4 
2012-04-30T22:39:28+00:00, 1 
2012-04-30T22:47:54+00:00, 8 
2012-04-30T22:50:49+00:00, 9 
2012-04-30T22:51:57+00:00, 1 
2012-04-30T22:54:50+00:00, 1 
2012-04-30T22:57:22+00:00, 0 
2012-04-30T22:58:38+00:00, 7 
2012-04-30T23:05:21+00:00, 1 
2012-04-30T23:08:56+00:00, 1 

Я также пытался убедиться, что у меня есть правильные типы данных в моем кадре данных по телефону:

print data_frame.dtypes 

и я получаю следующее, как из положить

ts  datetime64[ns] 
val    int64 

Когда я группы вызовов по кадрам данных

grouped = data_frame.groupby(lambda x: x.minute) 

Я получаю следующее сообщение об ошибке:

grouped = data_frame.groupby(lambda x: x.minute) 
AttributeError: 'int' object has no attribute 'minute' 
+0

Заканчивать [Лучший способ агрегировать время штампованных данных] (http://stackoverflow.com/questions/19818446/better-way-to-aggregate-timestamped-data) – JGreenwell

ответ

1

http://pandas.pydata.org/pandas-docs/dev/generated/pandas.DataFrame.resample.html метод DataFrame.resample. Вы можете указать здесь способ агрегирования, в вашем случае sum.

data_frame.resample("1Min", how="sum") 

http://pandas.pydata.org/pandas-docs/dev/timeseries.html#up-and-downsampling

+0

data_frame. resample («1Min»). mean() - это новый синтаксис (версия = 0.19.2) –

 Смежные вопросы

  • Нет связанных вопросов^_^