pyspark.pandas.window.Rolling.std#

Rolling.std()[source]#

Calculate rolling standard deviation.

Note

the current implementation of this API uses Spark’s Window without specifying partition specification. This leads to move all data into single partition in single machine and could cause serious performance degradation. Avoid this method against very large dataset.

Returns:
Series or DataFrame

Returns the same object type as the caller of the rolling calculation.

See also

pyspark.pandas.Series.rolling

Calling object with Series data.

pyspark.pandas.DataFrame.rolling

Calling object with DataFrames.

pyspark.pandas.Series.std

Equivalent method for Series.

pyspark.pandas.DataFrame.std

Equivalent method for DataFrame.

numpy.std

Equivalent method for Numpy array.

Examples

>>> s = ps.Series([5, 5, 6, 7, 5, 5, 5])
>>> s.rolling(3).std()
0         NaN
1         NaN
2    0.577350
3    1.000000
4    1.000000
5    1.154701
6    0.000000
dtype: float64

For DataFrame, each rolling standard deviation is computed column-wise.

>>> df = ps.DataFrame({"A": s.to_numpy(), "B": s.to_numpy() ** 2})
>>> df.rolling(2).std()
          A          B
0       NaN        NaN
1  0.000000   0.000000
2  0.707107   7.778175
3  0.707107   9.192388
4  1.414214  16.970563
5  0.000000   0.000000
6  0.000000   0.000000