groupby 是 pandas 库中的一个非常有用的函数,它可以根据一个或多个列的值将数据分组。这个函数返回一个组(group)的对象,其中每个组都包含原始数据中具有相同值的行。
使用 groupby 的基本语法是:
grouped = df.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False) |
其中:
by: 需要分组的列名或者列名的列表。如果没有指定,那么整个 DataFrame 将被分组。axis: 默认是 0,表示在行上进行分组。如果是 1,则表示在列上进行分组。level: 用于多层次索引(MultiIndex)。如果设置,那么groupby将在该级别上进行。as_index: 默认是 True,表示在返回的组对象中,索引将包含分组列。如果设为 False,则返回的组对象将具有默认的整数索引。sort: 默认是 True,表示在每个组内进行排序。如果设为 False,则不会进行排序。group_keys: 默认是 True,表示在返回的组对象中包含分组键。如果设为 False,则不会包含。squeeze: 默认是 False,表示如果结果是 Series,则返回一个 Series。如果是 DataFrame,则返回 DataFrame。如果设为 True,则尝试将结果挤压为 Series。
一旦你有了分组的对象,你可以执行各种操作,如计算每组的平均值、计数、求和等。例如:
# 计算每组的平均值 | |
grouped.mean() | |
# 计算每组的计数 | |
grouped.size() | |
# 求每组的总和 | |
grouped.sum() |
这些方法都是直接在分组对象上调用的,因此你可以链式调用这些方法。例如:
df.groupby('category')['value'].mean().reset_index() |
这将首先按照 'category' 列的值将数据分组,然后计算每个组的 'value' 列的平均值,最后将结果重置为默认的索引。
本文介绍了Pandas库中的groupby函数,详细解释了其基本语法和参数,以及如何利用它进行数据分组并执行统计操作,如计算平均值、计数和求和。
1152

被折叠的 条评论
为什么被折叠?



