簡體   English   中英

計算 Numpy 中的累積標准差

[英]Compute cumulative standard deviation in Numpy

我有一個 numpy 數組,我正在尋找計算數組元素的累積標准偏差 但是,我似乎找不到 Numpy function 來實現相同的目標。

I was able to find a function in Pandas ( https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.core.window.expanding.Expanding.std.html ), however converting the Numpy array到 Pandas 系列將增加總時間。 另一種選擇是實現自定義 Python function 進行計算,但是時間復雜度明智,此解決方案將花費更長的時間(因為 Python 本身就是一種慢速語言)。

有人可以幫助我在盡可能短的時間內計算累積標准偏差的解決方案嗎?

提前致謝。

你可以試試這個

arr = np.array([1,2,3])
r = [arr[:x].std() for x in range(1,len(arr)+1)]

print(r)

[0.0, 0.5, 0.816496580927726]

但老實說,Pandas 版本肯定會更快。 不要認為鑄造 DataFrame 會占用太多開銷。 只需使用 pandas。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM