当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyspark DataFrameGroupBy.aggregate用法及代码示例


本文简要介绍 pyspark.pandas.groupby.DataFrameGroupBy.aggregate 的用法。

用法:

DataFrameGroupBy.aggregate(func_or_funcs: Union[str, List[str], Dict[Union[Any, Tuple[Any, …]], Union[str, List[str]]], None] = None, *args: Any, **kwargs: Any) → pyspark.pandas.frame.DataFrame

在指定轴上使用一项或多项操作进行聚合。

参数

func_or_funcs字典、字符串或列表

从列名(字符串)到聚合函数(字符串或字符串列表)的 dict 映射。

返回

系列或DataFrame

返回可以是:

  • 系列:当使用单个函数调用DataFrame.agg时

  • DataFrame:当使用多个函数调用DataFrame.agg时

返回系列或数据帧。

注意

aggaggregate 的别名。使用别名。

例子

>>> df = ps.DataFrame({'A': [1, 1, 2, 2],
...                    'B': [1, 2, 3, 4],
...                    'C': [0.362, 0.227, 1.267, -0.562]},
...                   columns=['A', 'B', 'C'])
>>> df
   A  B      C
0  1  1  0.362
1  1  2  0.227
2  2  3  1.267
3  2  4 -0.562

每列不同的聚合

>>> aggregated = df.groupby('A').agg({'B': 'min', 'C': 'sum'})
>>> aggregated[['B', 'C']].sort_index()  
   B      C
A
1  1  0.589
2  3  0.705
>>> aggregated = df.groupby('A').agg({'B': ['min', 'max']})
>>> aggregated.sort_index()  
     B
   min  max
A
1    1    2
2    3    4
>>> aggregated = df.groupby('A').agg('min')
>>> aggregated.sort_index()  
     B      C
A
1    1  0.227
2    3 -0.562
>>> aggregated = df.groupby('A').agg(['min', 'max'])
>>> aggregated.sort_index()  
     B           C
   min  max    min    max
A
1    1    2  0.227  0.362
2    3    4 -0.562  1.267

为了控制每列具有不同聚合的输出名称,pandas-on-Spark 还支持“命名聚合”或 .agg 中的嵌套重命名。当将多个聚合函数应用于特定列时,也可以使用它。

>>> aggregated = df.groupby('A').agg(b_max=ps.NamedAgg(column='B', aggfunc='max'))
>>> aggregated.sort_index()  
     b_max
A
1        2
2        4
>>> aggregated = df.groupby('A').agg(b_max=('B', 'max'), b_min=('B', 'min'))
>>> aggregated.sort_index()  
     b_max   b_min
A
1        2       1
2        4       3
>>> aggregated = df.groupby('A').agg(b_max=('B', 'max'), c_min=('C', 'min'))
>>> aggregated.sort_index()  
     b_max   c_min
A
1        2   0.227
2        4  -0.562

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.pandas.groupby.DataFrameGroupBy.aggregate。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。