pandas如何計算移動平均值
pandas計算移動平均值
本人遇到遇到一個任務,計算同月份合約當天各合約總持倉量的移動平均值。
立刻寫下了這個函數(shù):
group = df.groupby(['合約系列','date']) f = pd.DataFrame(group['持倉量'].sum().rolling(20).mean())
上交后,提出要求,不行,這個數(shù)據(jù)不行,存在一些數(shù)據(jù),因為不足20天,導致結果為NAN。
一開始沒想到思路,然后就問問群里的大佬,大佬給的第一個建議,寫個功能函數(shù)。但是因為數(shù)據(jù)比較復雜,非連續(xù)數(shù)據(jù),光是分類就很難,就繼續(xù)詢問。
直到一位大佬給了個答案:
group = df.groupby(['合約系列','date']) f = pd.DataFrame(group['持倉量'].sum().rolling(20,min_periods = 1).mean())
min_periods:#表示窗口最少包含的觀測值為1
意味著數(shù)據(jù)不滿20天的,自動有一天算一天,計算均值。如第19天數(shù)據(jù),此時顯示的結果就是前面19天的均值。
pandas求滑動平均值
df.rolling(3, center=True).mean()
如果求最小值、最大值、求和等,可以改變最后面的函數(shù),比如
df.rolling(3, center=True).min() df.rolling(3, center=True).max() df.rolling(3, center=True).sum()
其他參數(shù):
DataFrame.rolling(window, min_periods=None, center=False, win_type=None, on=None, axis=0, closed=None)
window
:選幾個數(shù)求滑動平均值center
:true-以當前數(shù)為中心win_type
:如果沒有特殊指定,所有數(shù)的權重是一樣的
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
python GUI庫圖形界面開發(fā)之PyQt5窗口類QMainWindow詳細使用方法
這篇文章主要介紹了python GUI庫圖形界面開發(fā)之PyQt5窗口類QMainWindow詳細使用方法,需要的朋友可以參考下2020-02-02Python實現(xiàn)定時自動關閉的tkinter窗口方法
今天小編就為大家分享一篇Python實現(xiàn)定時自動關閉的tkinter窗口方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-02-02python 利用jieba.analyse進行 關鍵詞提取
這篇文章主要介紹了python 利用jieba.analyse進行關鍵詞提取的方法,幫助大家更好的利用python,感興趣的朋友可以了解下2020-12-12Python檢查判斷一個數(shù)是不是另一個數(shù)的整數(shù)次冪實例深究
在數(shù)學和計算中,確定一個數(shù)是否為另一個數(shù)的整數(shù)次冪是一個常見而重要的問題,例如,我們可能需要判斷一個數(shù)是否是某個數(shù)的平方、立方或其他冪次,本文將探討在Python中如何實現(xiàn)這一功能,通過數(shù)學方法和算法檢查一個數(shù)是否是另一個數(shù)的整數(shù)次冪2023-12-12