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

独兜曲

关注

阅读 59

2022-02-11


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)

0 0 举报