揭秘Pandas高效数据分组与聚合技巧,轻松掌握数据分析核心技能

发布时间:2025-06-08 02:37:05

引言

在数据分析范畴,数据的分组与聚合是弗成或缺的操纵。Python中的Pandas库以其富强的数据处理才能,成为实现这一目标的首选东西。本文将深刻探究怎样利用Pandas停止高效的数据分组与聚合处理,并供给实用的技能跟案例。

Pandas简介

Pandas是基于NumPy的数据分析东西,供给了两种重要数据构造:Series跟DataFrame。Series是单一列数据,而DataFrame则是多列数据的凑集,类似于关联型数据库中的表。Pandas支撑高效处理表格数据,存在丰富的操纵功能,从数据导入到可视化,覆盖数据操纵跟分析的各个方面。

数据导入

Pandas支撑多种数据格局,如CSV、Excel、SQL数据库、JSON等。以下是一个简单的示例,展示怎样导入CSV文件:

import pandas as pd

# 导入CSV文件
data = pd.read_csv('data.csv')

# 表现数据前5行
print(data.head())

数据的基本操纵

在开端分组与聚合之前,我们须要对数据停止一些基本操纵,包含检查、抉择、过滤跟排序数据。

# 检查数据前5行
print(data.head())

# 抉择特定列
print(data['columnname'])

# 过滤数据
filtered_data = data[data['columnname'] > 10]
print(filtered_data)

数据分组与聚合

经由过程groupby()函数,我们可能按某一列对数据停止分组,并打算每个组的统计指标。以下是一个简单的例子:

import pandas as pd

# 示例数据
data = {
    '老师': ['A', 'A', 'B', 'B', 'C', 'C'],
    '科目': ['数学', '英语', '数学', '英语', '数学', '英语'],
    '分数': [85, 78, 92, 88, 70, 60]
}
df = pd.DataFrame(data)

# 按老师列对数据停止分组,并打算每个老师的均匀分数
grouped = df.groupby('老师')['分数'].mean().reset_index()
print(grouped)

成果阐明

输出的grouped数据框表现了每个老师的均匀分数。鄙人面的示例中,我们利用mean()函数停止均匀值聚合,但Pandas供给了多种聚合函数,包含sum()count()min()max()等。

高效分组与聚合技能

  1. 利用agg()函数停止多聚合agg()函数容许你同时对多个列利用多个聚合函数。
grouped = df.groupby('老师').agg({
    '分数': ['mean', 'sum', 'count', 'min', 'max']
}).reset_index()
  1. 自定义聚合函数:你可能利用自定义函数停止聚合。
def custom_agg(x):
    return (x - x.mean()) / x.std()

grouped = df.groupby('老师')['分数'].apply(custom_agg).reset_index()
  1. 分组跟挑选:在分组的同时停止前提挑选。
grouped = df.groupby('老师')['分数'].mean()[df['分数'] > 80].reset_index()

总结

经由过程进修Pandas的分组与聚合技能,你可能轻松地处理跟分析数据,从而更好地懂得数据背后的故事。控制这些技能将有助于你在数据分析范畴获得更大年夜的成功。