pandas数据分组和聚合操作方法

  • Post category:Python
  1. pandas数据分组

Pandas数据分组是指将数据按照某个条件分为若干组的操作。返回值为一个groupby对象,用于对分组后的数据进行聚合等操作。

常用方法:

  • groupby: 根据类别(列)对数据进行分组
  • size: 查看每组的大小
  • count: 统计每组非空值的数量
  • mean: 计算每组的平均值
  • sum: 计算每组的总和
  • max: 计算每组的最大值
  • min: 计算每组的最小值
  • first: 取每组的第一个值
  • last: 取每组的最后一个值
  • agg: 可以使用聚合函数对每组数据进行计算,如agg(‘mean’)表示计算每组的平均值

示例:

import pandas as pd

df = pd.read_csv('example.csv')
print(df.groupby('classroom').size())

输出结果为:

classroom
A    5
B    6
C    4
dtype: int64
  1. pandas数据聚合操作

数据聚合操作是指在分组后对每组数据进行计算,如求每组的平均数、总和、标准差等。

常用方法:

  • mean: 计算每组的平均值
  • sum: 计算每组的总和
  • max: 计算每组的最大值
  • min: 计算每组的最小值
  • std: 计算每组的标准差
  • var: 计算每组的方差
  • describe: 计算每组数据的描述性统计量

示例:

import pandas as pd

df = pd.read_csv('example.csv')
grouped = df.groupby('classroom')

# 计算每组的平均值和总和
print(grouped.agg(['mean', 'sum']))

# 计算每组的最大值和最小值
print(grouped.agg({'scores': ['max', 'min']}))

输出结果为:

           scores     
             mean  sum
classroom            
A           70.80  354
B           75.83  455
C           62.00  248

           scores    
               max min
classroom            
A              100  50
B               97  59
C               87  35