pandas.core.groupby.DataFrameGroupBy.std#
- DataFrameGroupBy.std(ddof=1, engine=None, engine_kwargs=None, numeric_only=False)[source]#
Compute standard deviation of groups, excluding missing values.
For multiple groupings, the result index will be a MultiIndex.
- Parameters:
- ddofint, default 1
Degrees of freedom.
- 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_numba
Added in version 1.4.0.
- engine_kwargsdict, default None
For
'cython'
engine, there are no acceptedengine_kwargs
For
'numba'
engine, the engine can acceptnopython
,nogil
andparallel
dictionary keys. The values must either beTrue
orFalse
. The defaultengine_kwargs
for the'numba'
engine is{{'nopython': True, 'nogil': False, 'parallel': False}}
Added in version 1.4.0.
- numeric_onlybool, default False
Include only float, int or boolean data.
Added in version 1.5.0.
Changed in version 2.0.0: numeric_only now defaults to
False
.
- Returns:
- Series or DataFrame
Standard deviation of values within each group.
See also
Series.groupby
Apply a function groupby to a Series.
DataFrame.groupby
Apply a function groupby to each row or column of a DataFrame.
Examples
For SeriesGroupBy:
>>> lst = ["a", "a", "a", "b", "b", "b"] >>> ser = pd.Series([7, 2, 8, 4, 3, 3], index=lst) >>> ser a 7 a 2 a 8 b 4 b 3 b 3 dtype: int64 >>> ser.groupby(level=0).std() a 3.21455 b 0.57735 dtype: float64
For DataFrameGroupBy:
>>> data = {"a": [1, 3, 5, 7, 7, 8, 3], "b": [1, 4, 8, 4, 4, 2, 1]} >>> df = pd.DataFrame( ... data, index=["dog", "dog", "dog", "mouse", "mouse", "mouse", "mouse"] ... ) >>> df a b dog 1 1 dog 3 4 dog 5 8 mouse 7 4 mouse 7 4 mouse 8 2 mouse 3 1 >>> df.groupby(level=0).std() a b dog 2.000000 3.511885 mouse 2.217356 1.500000