maxframe.dataframe.DataFrame.groupby#
- DataFrame.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 或字典的值来确定分组(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