Pandas如何实现groupby分组的apply转换
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,本篇内容介绍了"Pandas如何实现groupby分组的apply转换"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读
千家信息网最后更新 2024年11月11日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安全错误
数据库的锁怎样保障安全
iapp注册登录怎样连接服务器
网络安全责任制主管部门
软件开发培训可信吗
lua 服务器开发
华为全球数据库
中国郑州国家网络安全宣传周
电脑word服务器
网络安全和信息化应急处理
中国国际网络安全峰会
软件开发证书在哪报考
数据库服务器默认地址
管家婆云服务器的好处
全国中职网络安全竞赛
ftp服务器 外网
软件开发商会录音吗
赛博朋克2077 数据库
怎么备案服务器空间
服务器 端口 安全
珠海通讯软件开发零售价
河北学子软件开发有限公司
软件开发中途能加需求吗
通信运营商与网络安全
gtsport移动连不上服务器
软件开发外包合同文本
路径匹配关系数据库
软件开发还是室内设计好
广东智慧社区软件开发公司
上海游驰网络技术有
p0阶段 软件开发
软件开发文档生成