【发布时间】:2020-04-23 02:24:19
【问题描述】:
我想为我的数据框中的一列计算滚动 Z 分数:
import pandas as pd
values = [1,2,3,4,5]
d1= {'vol': values}
df= pd.DataFrame(d1)
有没有类似的方法:
df['mean'] = df.rolling(2).mean()
也许有:
from scipy import stats
stats.zscore(df)
编辑:在类似的帖子中发现了这种方法:
def zscore_func(x):
return (x[-1] - x[:-1].mean())/x[:-1].std(ddof=0)
df.rolling(window=3).apply(zscore_func)
【问题讨论】:
标签: python pandas rolling-computation