pandas学习笔记—agg()函数详解

目录

    • 1、agg()函数定义
    • 2、举例
      • 2.1 简单的列或行统计
      • 2.2 自定义统计函数
      • 2.3 先groupby()再agg()

1、agg()函数定义

agg()函数是聚合函数,
DataFrame.agg(func,axis = 0,* args,** kwargs )
@@@func : 实现某种统计功能的函数,如果要不同列用求不同统计量,则用字典{‘行名/列名’,‘函数名’}指定。

2、举例

2.1 简单的列或行统计

import pandas as pd
import numpy as np
df1=pd.DataFrame({'age':[21,30,17,37,40,18,26],'weight':[120,100,132,140,94,89,123]})
df1

pandas学习笔记—agg()函数详解_第1张图片

df1.agg('mean')

在这里插入图片描述
得到所有统计信息:

df1.describe()

pandas学习笔记—agg()函数详解_第2张图片
按行统计:

df1.agg('mean',axis=1)

pandas学习笔记—agg()函数详解_第3张图片
按行得到所有信息:

df1.T.describe() #先转置再统计

pandas学习笔记—agg()函数详解_第4张图片

2.2 自定义统计函数

举例:

def diff_max_min(x):
    return x.max() - x.min()
df1.agg(diff_max_min,axis=1)

pandas学习笔记—agg()函数详解_第5张图片

2.3 先groupby()再agg()

引用这篇文章的例子:

df1=pd.DataFrame({'sex':list('FFMFMMF'),'smoker':list('YNYYNYY'),'age':[21,30,17,37,40,18,26],'weight':[120,100,132,140,94,89,123]})
df1

pandas学习笔记—agg()函数详解_第6张图片
按“sex”和“smoker”进行分组,然后用agg()得到各分组的统计信息:

grouped=df1.groupby(['sex','smoker'])
grouped.agg('mean')

pandas学习笔记—agg()函数详解_第7张图片
同样groupby之后也可以自定义的统计函数,此外describe()函数可以得到常见的各分组的统计信息:

grouped.describe()

pandas学习笔记—agg()函数详解_第8张图片

你可能感兴趣的:(Python,机器学习,数据科学,人工智能,数据挖掘,机器学习)