maxframe.dataframe.Series.groupby#

Series.groupby(by=None, level=None, as_index=True, sort=True, group_keys=True, dropna=True)#

使用映射器或 Series 列对 DataFrame 进行分组。

groupby 操作包括拆分对象、应用函数和合并结果的组合。这可以用于对大量数据进行分组,并对这些分组执行计算操作。

参数:
  • by (mapping, function, label, or list of labels) -- 用于确定 groupby 的分组方式。如果 by 是一个函数,则会对对象索引的每个值调用该函数。如果传入的是字典或 Series,则会使用其值来确定分组(Series 的值首先会对齐;参见 .align() 方法)。如果传入的是 ndarray,则直接使用其值来确定分组。可以传递标签或标签列表以根据 self 中的列进行分组。注意,元组会被解释为单个键。

  • as_index (bool, default True) -- 对于聚合输出,返回以组标签作为索引的对象。仅适用于 DataFrame 输入。as_index=False 实际上是“SQL 风格”的分组输出。

  • sort (bool, default True) -- 对分组键排序。关闭此选项可以获得更好的性能。注意,这不会影响每组内观测值的顺序。Groupby 会保留每组内的行顺序。

  • group_keys (bool) -- 调用 apply 时,将分组键添加到索引中以标识各个部分。

  • dropna (bool, default True) -- 如果为 True(默认),则从分组中排除分组列中的 NA 值。如果为 False,则将 NA 值视为有效分组。

备注

MaxFrame 仅支持 axis=0 的 groupby。group_keys 的默认值取决于本地 pandas 库的版本,从 pandas 2.0 开始默认为 True。

返回:

返回一个包含分组信息的 groupby 对象。

返回类型:

DataFrameGroupBy

参见

resample

用于时间序列频率转换和重采样的便捷方法。

示例

>>> import maxframe.dataframe as md
>>> df = md.DataFrame({'Animal': ['Falcon', 'Falcon',
...                               'Parrot', 'Parrot'],
...                    'Max Speed': [380., 370., 24., 26.]})
>>> df.execute()
   Animal  Max Speed
0  Falcon      380.0
1  Falcon      370.0
2  Parrot       24.0
3  Parrot       26.0
>>> df.groupby(['Animal']).mean().execute()
        Max Speed
Animal
Falcon      375.0
Parrot       25.0