用法:
SeriesGroupBy.aggregate(func=None, *args, engine=None, engine_kwargs=None, **kwargs)
在指定轴上使用一项或多项操作进行聚合。
- func:函数、str、列表或字典
用于聚合数据的函数。如果是函数,则必须在传递 Series 或传递给 Series.apply 时工作。
接受的组合是:
function
字符串函数名
函数和/或函数名称列表,例如
[np.sum, 'mean']
轴标签的字典 -> 函数、函数名称或此类列表。
还可以接受指定了
engine='numba'
的 Numba JIT 函数。此引擎仅支持传递单个函数。如果选择
'numba'
引擎,该函数必须是用户定义的函数,函数签名中的第一个和第二个参数分别是values
和index
。每个组的索引将传递给用户定义的函数,并且可以选择使用。- *args:
要传递给 func 的位置参数。
- engine:str,默认无
'cython'
:通过 cython 的 C-extensions 运行函数。'numba'
:通过 numba 中的 JIT 编译代码运行函数。None
:默认为'cython'
或全局设置compute.use_numba
- engine_kwargs:字典,默认无
对于
'cython'
引擎,没有接受的engine_kwargs
对于
'numba'
引擎,引擎可以接受nopython
、nogil
和parallel
字典键。这些值必须是True
或False
。'numba'
引擎的默认engine_kwargs
是{'nopython':True, 'nogil':False, 'parallel':False}
并将应用于函数
- **kwargs:
要传递给 func 的关键字参数。
- Series
参数:
返回:
注意:
使用
engine='numba'
时,内部不会有 “fall back” 行为。组数据和组索引将作为 numpy 数组传递给 JITed 用户定义函数,并且不会尝试替代执行尝试。改变传递对象的函数可能会产生意外行为或错误,因此不受支持。有关更多详细信息,请参阅使用用户定义函数 (UDF) 方法进行变异。
例子:
>>> s = pd.Series([1, 2, 3, 4])
>>> s 0 1 1 2 2 3 3 4 dtype:int64
>>> s.groupby([1, 1, 2, 2]).min() 1 1 2 3 dtype:int64
>>> s.groupby([1, 1, 2, 2]).agg('min') 1 1 2 3 dtype:int64
>>> s.groupby([1, 1, 2, 2]).agg(['min', 'max']) min max 1 1 2 2 3 4
可以通过将所需的列名和聚合作为关键字参数传递来控制输出列名。
>>> s.groupby([1, 1, 2, 2]).agg( ... minimum='min', ... maximum='max', ... ) minimum maximum 1 1 2 2 3 4
>>> s.groupby([1, 1, 2, 2]).agg(lambda x:x.astype(float).min()) 1 1.0 2 3.0 dtype:float64
相关用法
- Python pandas.core.groupby.SeriesGroupBy.unique用法及代码示例
- Python pandas.core.groupby.SeriesGroupBy.nlargest用法及代码示例
- Python pandas.core.groupby.SeriesGroupBy.transform用法及代码示例
- Python pandas.core.groupby.SeriesGroupBy.nsmallest用法及代码示例
- Python pandas.core.groupby.GroupBy.nth用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.hist用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.resample用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.quantile用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.cumcount用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.sample用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.fillna用法及代码示例
- Python pandas.core.groupby.GroupBy.cumcount用法及代码示例
- Python pandas.core.groupby.GroupBy.mean用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.filter用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.aggregate用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.nunique用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.describe用法及代码示例
- Python pandas.core.groupby.GroupBy.tail用法及代码示例
- Python pandas.core.groupby.DataFrameGroupBy.value_counts用法及代码示例
- Python pandas.core.groupby.GroupBy.rank用法及代码示例
注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.core.groupby.SeriesGroupBy.aggregate。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。