sal*_*adi 14 python numpy mean scipy pandas
它看起来像是pd.rolling_mean
被弃用了ndarrays
,
Run Code Online (Sandbox Code Playgroud)pd.rolling_mean(x, window=2, center=False)
FutureWarning:对于ndarrays,不推荐使用pd.rolling_mean,将来的版本将删除
但根据这个SO答案,它似乎是最快的方式.
现在有没有新的方法直接使用SciPy或NumPy这样做pd.rolling_mean
?
编辑 - 不幸的是,看起来新的方式不是那么快:
新版熊猫:
In [1]: x = np.random.uniform(size=100)
In [2]: %timeit pd.rolling_mean(x, window=2)
1000 loops, best of 3: 240 µs per loop
In [3]: %timeit pd.Series(x).rolling(window=2).mean()
1000 loops, best of 3: 226 µs per loop
In [4]: pd.__version__
Out[4]: '0.18.0'
Run Code Online (Sandbox Code Playgroud)
旧版:
In [1]: x = np.random.uniform(size=100)
In [2]: %timeit pd.rolling_mean(x,window=2)
100000 loops, best of 3: 12.4 µs per loop
In [3]: pd.__version__
Out[3]: u'0.17.1'
Run Code Online (Sandbox Code Playgroud)
看起来新方法是通过DataFrame.rolling
类上的方法(我猜你应该把它想象成一个groupby
):http :
//pandas.pydata.org/pandas-docs/version/0.18.0/whatsnew。 html
例如
x.rolling(window=2).mean()
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11350 次 |
最近记录: |