[英]Aggregate time series in 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
當我在數據框上調用group by時
grouped = data_frame.groupby(lambda x: x.minute)
我收到以下錯誤:
grouped = data_frame.groupby(lambda x: x.minute)
AttributeError: 'int' object has no attribute 'minute'
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.