pandas.core.groupby.DataFrameGroupBy.std#
- DataFrameGroupBy.std(ddof=1, engine=None, engine_kwargs=None, numeric_only=False)[源代码]#
计算组的标准差,排除缺失值。
对于多个分组,结果索引将是 MultiIndex。
- 参数:
- ddofint, 默认 1
自由度增量。计算中使用的除数是
N - ddof
,其中N
表示元素的数量。- 引擎str, 默认为 None
'cython'
: 通过来自cython的C扩展运行操作。'numba'
: 通过来自 numba 的 JIT 编译代码运行操作。None
: 默认为'cython'
或全局设置compute.use_numba
Added in version 1.4.0.
- engine_kwargs字典, 默认为 None
对于
'cython'
引擎,没有接受的engine_kwargs
对于
'numba'
引擎,引擎可以接受nopython
、nogil
和parallel
字典键。值必须是True
或False
。'numba'
引擎的默认engine_kwargs
是{{'nopython': True, 'nogil': False, 'parallel': False}}
Added in version 1.4.0.
- numeric_onlybool, 默认 False
仅包含 float, int 或 boolean 数据。
Added in version 1.5.0.
在 2.0.0 版本发生变更: numeric_only 现在默认值为
False
。
- 返回:
- Series 或 DataFrame
每个组内值的标准偏差。
参见
Series.groupby
对一个Series应用groupby函数。
DataFrame.groupby
对DataFrame的每一行或每一列应用一个groupby函数。
例子
对于 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
对于 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