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' 引擎,引擎可以接受 nopythonnogilparallel 字典键。值必须是 TrueFalse'numba' 引擎的默认 engine_kwargs{{'nopython': True, 'nogil': False, 'parallel': False}}

Added in version 1.4.0.

numeric_onlybool, 默认为 False

仅包含 float, intboolean 数据。

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