Pandas 是一个强大的 Python 数据分析库,提供了大量的数据结构和数据分析工具。分组(GroupBy)是 Pandas 中的一个核心功能,允许你根据一个或多个列的值将数据分割成组,然后对每个组应用聚合函数。
Pandas 的分组操作主要分为以下几种类型:
假设我们有一个包含销售数据的 DataFrame,我们希望按产品类别计算总销售额和平均销售额,并将结果添加到最终结果集中。
import pandas as pd
# 创建示例数据
data = {
'Product': ['A', 'B', 'A', 'B', 'A', 'C'],
'Sales': [100, 200, 150, 250, 300, 400]
}
df = pd.DataFrame(data)
# 按产品类别分组并计算总销售额和平均销售额
grouped = df.groupby('Product').agg({'Sales': ['sum', 'mean']})
# 重命名列以便于理解
grouped.columns = ['Total Sales', 'Average Sales']
# 将结果添加到最终结果集
final_result = grouped.reset_index()
print(final_result)
Product Total Sales Average Sales
0 A 650 216.666667
1 B 450 225.000000
2 C 400 400.000000
原因:可能是由于数据类型不匹配或分组键中存在缺失值。
解决方法:
dropna()
删除包含缺失值的行。df = df.dropna(subset=['Product'])
原因:可能是由于聚合函数使用不当或数据格式不正确。
解决方法:
agg()
函数时,确保传递的参数是正确的字典格式。grouped = df.groupby('Product').agg({'Sales': ['sum', 'mean']})
通过以上步骤,你可以有效地使用 Pandas 进行分组计算,并将结果添加到最终结果集中。
领取专属 10元无门槛券
手把手带您无忧上云