Pandas如何实现groupby分组的apply转换
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,本篇内容介绍了"Pandas如何实现groupby分组的apply转换"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读
千家信息网最后更新 2025年02月03日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安全错误
数据库的锁怎样保障安全
山东腾驰网络技术有限公司
dhcp服务器老自动开启
天门市软件开发
数据库中的什么能够唯一标识
探讨医院网络安全方案
2020和平精英服务器暂
河南晟驰网络技术有限公司
九洲之巅网络技术有限公司
塔式服务器1u 2u 4u
全国初高中学校数据库
数据库次序无关原则
家用电脑为什么不装服务器
蓟州区高科技软件开发服务供应
软件开发方法研究和比较
数据库数据复制到表格里
福建网络安全会议
数据库做设计一般是啥课
宠物大战服务器有用吗
重要时期网络安全保障机构
什么被称数据库之父
三国志3城市数据库
方舟焦土服务器有哪些
列车网络技术的发展现状ppt
供应商外贸软件开发公司
数据库如何分页面试
组织部门要高度重视网络安全工作
部队网赌网贷网络安全教育
软件开发项目审计报告格式
网络安全月宣传片
cr数据库什么意思