pandas实现数据的分组与聚合

本文介绍了如何使用pandas库进行数据的分组与聚合,详细讲解了groupby()、agg()、apply()和transform()四个关键方法。groupby()用于数据分组,agg()可以对多列数据进行多种统计分析,如自定义字典选择不同列的不同统计方法。apply()允许用户自定义统计方法,而transform()则用于对数据进行转换操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.分组    groupby()

2.聚合

(1)agg()

(2)apply()

(3)transform()


1.分组    groupby()

import pandas as pd
import numpy as np
#加载数据
detail=pd.read_excel('./meal_order_detail.xlsx')
print(detail)
#分组
#按照amounts进行分组,统计counts平均值
detail=detail.groupby(by='amounts')['counts'].mean()
print('detail:',detail)

#按照order_id,dished_id 进行分组 统计amounts的均值
#先按照order_id分组,在一个相同的分组里面,再通过dishes_id进行分组
de=detail.groupby(by=['order_id','dishes_id'])['amounts'].mean()
print(de)
print(type(de)) # series  双重索引,一列数据

2.聚合

agg()
apply()
trandform()

(1)agg()

可以对多列数据,同时进行多个统计分析

de=detail[['counts','amounts']].agg([np.sum,np.mean])
print(de)

可以对不同列数据,求取不同的统计分析,可以用字典

de=detail.agg({'counts':np.max,'amounts':np.min})
print(de)

可以对不同列的数据求取不同个数的统计分析

de=detail.agg({'counts':np.max,'amounts':[np.min,np.mean]})
print(de)

(2)apply()

自定义自己的统计方法

de=detail['amounts'].apply(lambda x:x+1)
print(de)

(3)transform()

de=detail.groupby['counts'].transform(lambda x:x+1)
print(de)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值