pandas.core.groupby.DataFrameGroupBy.var#
- DataFrameGroupBy.var(ddof=1, engine=None, engine_kwargs=None, numeric_only=False)[源代码]#
计算组的方差,排除缺失值。
对于多个分组,结果索引将是 MultiIndex。
- 参数:
- ddofint, 默认 1
自由度。
- 引擎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).var() a 10.333333 b 0.333333 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).var() a b dog 4.000000 12.333333 mouse 4.916667 2.250000