[英]Gaussian kernel density smoothing for pandas.DataFrame.resample?
我正在使用pandas.DataFrame.resample
將隨機事件重新采樣到 1 小時的間隔,並且看到非常隨機的結果,如果我將間隔增加到 2 或 4 小時,這些結果似乎不會消失。 這讓我想知道 Pandas 是否有任何類型的方法來生成平滑的密度內核,如具有可調帶寬的高斯內核密度方法來控制平滑。 我沒有在文檔中看到任何內容,但我想我會在發布到開發人員列表服務器之前先在這里發布,因為這是他們的偏好。 Scikit-Learn恰好具有我想要的高斯核密度函數,因此我將嘗試使用它,但這將是對 Pandas 的絕佳補充。
任何幫助是極大的贊賞!
hourly[0][344:468].plot()
Pandas 能夠在滾動窗口上應用聚合。 win_type
參數控制窗口的形狀。 可以設置center
參數,以便將標簽設置在窗口的中心,而不是右邊緣。 做高斯平滑:
hrly = pd.Series(hourly[0][344:468])
smooth = hrly.rolling(window=5, win_type='gaussian', center=True).mean(std=0.5)
http://pandas.pydata.org/pandas-docs/stable/computation.html#rolling
我現在發現這個選項在pandas.stats.moments.ewma
可用,而且效果很好。 結果如下:
from pandas.stats.moments import ewma
hourly[0][344:468].plot(style='b')
ewma(hourly[0][344:468], span=35).plot(style='k')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.