groupby
和 agg
是数据处理中常用的操作,尤其在 Pandas 这样的数据分析库中。下面我会详细解释这两个操作的基础概念,以及它们的优势、类型、应用场景,并提供一个具体的示例代码来说明如何使用它们。
groupby
是一种数据分组操作,它根据指定的列或条件将数据分成多个组。agg
是一种聚合操作,它对每个分组应用一个或多个聚合函数。sum
, mean
, max
, min
, count
等。假设我们有一个包含销售数据的 DataFrame,如下所示:
import pandas as pd
data = {
'Category': ['Electronics', 'Clothing', 'Electronics', 'Clothing'],
'Sales': [1000, 500, 1500, 700],
'Profit': [200, 100, 300, 150]
}
df = pd.DataFrame(data)
我们希望按 Category
列分组,并对 Sales
列求和,对 Profit
列求和。可以使用以下代码实现:
result = df.groupby('Category').agg({'Sales': 'sum', 'Profit': 'sum'})
print(result)
输出结果将是:
Sales Profit
Category
Clothing 1200 250
Electronics 2500 500
groupby('Category')
将数据按 Category
列的值分组。agg({'Sales': 'sum', 'Profit': 'sum'})
对每个分组分别对 Sales
和 Profit
列应用 sum
函数。如果在实际应用中遇到问题,例如聚合结果不符合预期,可以采取以下步骤进行排查:
count
)来验证分组是否正确。通过这些方法,通常可以找到并解决聚合操作中的问题。
领取专属 10元无门槛券
手把手带您无忧上云