Pandas如何实现groupby分组的apply转换
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,本篇内容介绍了"Pandas如何实现groupby分组的apply转换"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读
千家信息网最后更新 2025年12月01日Pandas如何实现groupby分组的apply转换
本篇内容介绍了"Pandas如何实现groupby分组的apply转换"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
知识:Pandas的GroupBy遵从split、apply、combine模式

这里的split指的是pandas的groupby,我们自己实现apply函数,apply返回的结果由pandas进行combine得到结果
GroupBy.apply(function)
function的第一个参数是dataframe
function的返回结果,可是dataframe、series、单个值,甚至和输入dataframe完全没关系
本次实例演示:
怎样对数值列按分组的归一化?
怎样取每个分组的TOPN数据?
实例1:怎样对数值列按分组的归一化?
将不同范围的数值列进行归一化,映射到[0,1]区间:
更容易做数据横向对比,比如价格字段是几百到几千,增幅字段是0到100
机器学习模型学的更快性能更好
归一化的公式:

演示:用户对电影评分的归一化
每个用户的评分不同,有的乐观派评分高,有的悲观派评分低,按用户做归一化
import pandas as pd
ratings = pd.read_csv(
"./datas/movielens-1m/ratings.dat",
sep="::",
engine='python',
names="UserID::MovieID::Rating::Timestamp".split("::")
)
ratings.head()
# 实现按照用户ID分组,然后对其中一列归一化
def ratings_norm(df):
"""
@param df:每个用户分组的dataframe
"""
min_value = df["Rating"].min()
max_value = df["Rating"].max()
df["Rating_norm"] = df["Rating"].apply(
lambda x: (x-min_value)/(max_value-min_value))
return df
ratings = ratings.groupby("UserID").apply(ratings_norm)
ratings[ratings["UserID"]==1].head()
可以看到UserID==1这个用户,Rating==3是他的最低分,是个乐观派,我们归一化到0分;
实例2:怎样取每个分组的TOPN数据?
获取2018年每个月温度最高的2天数据
fpath = "./datas/beijing_tianqi/beijing_tianqi_2018.csv"
df = pd.read_csv(fpath)
# 替换掉温度的后缀℃
df.loc[:, "bWendu"] = df["bWendu"].str.replace("℃", "").astype('int32')
df.loc[:, "yWendu"] = df["yWendu"].str.replace("℃", "").astype('int32')
# 新增一列为月份
df['month'] = df['ymd'].str[:7]
df.head()
def getWenduTopN(df, topn):
"""
这里的df,是每个月份分组group的df
"""
return df.sort_values(by="bWendu")[["ymd", "bWendu"]][-topn:]
df.groupby("month").apply(getWenduTopN, topn=1).head()
我们看到,grouby的apply函数返回的dataframe,其实和原来的dataframe其实可以完全不一样
"Pandas如何实现groupby分组的apply转换"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
分组
用户
数据
评分
实例
数值
知识
结果
不同
乐观
内容
函数
字段
更多
月份
温度
学习
演示
实用
最低
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
朝阳区品质软件开发售后保障
网络安全法20禁
中国移动网络技术支撑岗位
2018年网络安全习总书记
服务器网卡品牌型号
数据库删除某条记录
网络安全很难学吗
软件开发的实际基本流程
电脑登录服务器慢是怎么回事
网络安全不要可以
普通软件开发员工工资待遇
内蒙古信息化软件开发服务价钱
教育类app软件开发
小朋友应该注意哪些网络安全知识
SR650服务器xcc
新一代聊天软件开发
怎样读取动态心电图的数据库
听障人学软件开发
网络技术专业导论报告
深圳市百分之八十网络技术
迈腾导航系统数据库如何更新
丽江互联网科技好吗
pc服务器是什么
ibm服务器代理商查询
前端软件开发 招聘信息
软件开发预算表6
第一代数据库技术
fmd芯片用什么软件开发
软件开发可以外包么
网络安全治理机构是