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