0
点赞
收藏
分享

微信扫一扫

python学习——一段代码实现 pandas series 多周期rolling平均


import numpy as np
import pandas as pd
np.random.seed(123)

df = pd.DataFrame(np.random.randn(100,3)).add_prefix('col')

windows = [5, 15, 30, 45]
stats = ['mean', 'std']
cols = pd.MultiIndex.from_product([windows, df.columns, stats],
names=['window', 'feature', 'metric'])

df2 = pd.DataFrame(np.empty((df.shape[0], len(cols))), columns=cols,
index=df.index)

for window in windows:
df2.loc[:, window] = df.rolling(window=window).agg(stats).values


举报

相关推荐

0 条评论