python中使用agg方法聚合数据

使用agg方法聚合数据
agg,aggregate方法都支持对每个分组应用某函数,包括Python内置函数或自定义函数。同时这两个方法能够也能够直接对DataFrame进行函数应用操作。
在正常使用过程中,agg函数和aggregate函数对DataFrame对象操作时功能几乎完全相同,因此只需要掌握其中一个函数即可。它们的参数说明如下表。
**DataFrame.agg(func, axis=0, *args, **kwargs)
DataFrame.aggregate(func, axis=0, *args, kwargs)
在这里插入图片描述
[让我看看]数据长什么样子
在这里插入图片描述

import pandas as pd
import numpy as np
from datetime import datetime
# 读取数据保存为data
data = pd.read_csv("./ex1.csv",encoding = 'gbk')

读取后查看一下下
在这里插入图片描述
显示一下下所有信息
在这里插入图片描述

1.使用agg求出当前数据对应的统计量``

print('a和b的和与均值为:')
data[['a','b']].agg([np.sum,np.mean])

在这里插入图片描述
对于某个字段希望只做求均值操作,而对另一个字段则希望只做求和操作,可以使用字典的方式,将两个字段名分别作为key,然后将NumPy库的求和与求均值的函数分别作为value,如

2.使用agg分别求字段的不同统计量

print('a和与b的均值为:')
data.agg({'a':np.sum,'b':np.mean})

在这里插入图片描述

3.使用agg方法求不同字段的不同数目统计量

 在某些时候希望求出某个字段的多个统计量,对某些字段则只需求一个统计量,这时只需要将字典对应的key的value转换成列表,将列表元素转变为多个目标的统计量即可
print('a的总和与b的总和与均值')
data.agg({'a':np.sum,'b':[np.sum,np.mean]})

在这里插入图片描述

4.在agg方法中使用自定义函数

# 自定义函数求两倍的和
def DoubleSum(data):
    s = data.sum()*2
    return s
print('输出a的两倍总和为:','\n',data.agg({'a':DoubleSum},axis = 0))

在这里插入图片描述
在agg方法可传入读者自定义的函数。
使用自定义函数需要注意的是NumPy库中的函数np.mean,np.median,np.prod,np.sum,np.std,np.var能够在agg中直接使用,但是在自定义函数中使用NumPy库中的这些函数,如果计算的时候是单个序列则会无法得出想要的结果,如果是多列数据同时计算则不会出现这种问题,下面试验一下下

5.agg方法中使用的自定义函数含NumPy中的函数

# 自定义函数两倍的和
def DoubleSum1(data):
    s = np.sum(data)*2
    return s
print('输出a的两倍总和为:','\n',data.agg({'a':DoubleSum1},axis = 0))

在这里插入图片描述
print(‘a与b的和的两倍为: \n’,data[[‘a’,‘b’]].agg(DoubleSum1))

在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据闲逛人

谢谢大嘎喔~ 开心就好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值