pandas.core.groupby.SeriesGroupBy.var #

系列分组依据。var ( ddof = 1 , engine = None , engine_kwargs = None , numeric_only = False ) [来源] #

计算组的方差,排除缺失值。

对于多个分组,结果索引将是 MultiIndex。

参数
ddof int,默认1

自由程度。

引擎str,默认无
  • 'cython':通过 cython 的 C 扩展运行操作。

  • 'numba':通过 numba 的 JIT 编译代码运行操作。

  • None:默认'cython'或全局设置 compute.use_numba

1.4.0 版本中的新增功能。

engine_kwargs字典,默认 None
  • 对于'cython'发动机,没有可接受的engine_kwargs

  • 对于'numba'引擎,引擎可以接受nopython,nogilparallel字典键。这些值必须是TrueFalse。引擎engine_kwargs的默认值'numba'{{'nopython': True, 'nogil': False, 'parallel': False}}

1.4.0 版本中的新增功能。

numeric_only布尔值,默认 False

仅包含floatintboolean数据。

1.5.0 版本中的新增内容。

在版本 2.0.0 中更改: numeric_only 现在默认为False.

返回
系列或数据框

每组内值的方差。

也可以看看

Series.groupby

将函数 groupby 应用于系列。

DataFrame.groupby

将函数 groupby 应用于 DataFrame 的每一行或每一列。

例子

对于系列分组依据:

>>> 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