pandas.core.window.rolling.Rolling.std¶
- Rolling.std(ddof=1, *args, engine=None, engine_kwargs=None, **kwargs)[source]¶
Calculate the rolling standard deviation.
- Parameters
- ddofint, default 1
Delta Degrees of Freedom. The divisor used in calculations is
N - ddof, whereNrepresents the number of elements.- *args
For NumPy compatibility and will not have an effect on the result.
- enginestr, default None
'cython': Runs the operation through C-extensions from cython.'numba': Runs the operation through JIT compiled code from numba.None: Defaults to'cython'or globally settingcompute.use_numbaNew in version 1.4.0.
- engine_kwargsdict, default None
For
'cython'engine, there are no acceptedengine_kwargsFor
'numba'engine, the engine can acceptnopython,nogilandparalleldictionary keys. The values must either beTrueorFalse. The defaultengine_kwargsfor the'numba'engine is{'nopython': True, 'nogil': False, 'parallel': False}New in version 1.4.0.
- **kwargs
For NumPy compatibility and will not have an effect on the result.
- Returns
- Series or DataFrame
Return type is the same as the original object with
np.float64dtype.
See also
numpy.stdEquivalent method for NumPy array.
pandas.Series.rollingCalling rolling with Series data.
pandas.DataFrame.rollingCalling rolling with DataFrames.
pandas.Series.stdAggregating std for Series.
pandas.DataFrame.stdAggregating std for DataFrame.
Notes
The default
ddofof 1 used inSeries.std()is different than the defaultddofof 0 innumpy.std().A minimum of one period is required for the rolling calculation.
The implementation is susceptible to floating point imprecision as shown in the example below.
Examples
>>> s = pd.Series([5, 5, 6, 7, 5, 5, 5]) >>> s.rolling(3).std() 0 NaN 1 NaN 2 5.773503e-01 3 1.000000e+00 4 1.000000e+00 5 1.154701e+00 6 2.580957e-08 dtype: float64