大家好,本文结合一个简单的案例来讲解Pandas中高级函数transform的使用。
模拟数据模拟了这样一份虚拟数据:姓名+科目+分数 df_copy = df.copy() # 生成一个副本待用 需求很简单:求出每个学生的各科成绩在个人总成绩中的占比? 方法1:groupby+merge步骤1:求出每个人的总成绩步骤2:使用merge拼接数据Merge合并数据的时候使用全连接,保留两个DataFrame的全部字段 求出百分比求出占比,并且转成百分比的形式: 方法2:groupby+transform步骤1:直接使用transform一步到位,直接求出每个学生的总成绩这个就是tranform的神奇之处。不用中间转换过程 步骤2:求出百分比后面是同样的过程和方法求出百分比 活学活用transform除了求和sum,transform的应用还很灵活: 使用其他内置聚合函数
同时使用多样化的聚合函数求解多个指标 使用自定义函数使用lambda函数使用其他内置函数除了和数据相关的函数,还可以是其他的函数: 1、将名字改成小写 2、求名字的长度len 传入多个函数对不同的字段传入不同的函数 筛选过滤数据除了新增或者改变数据,transform还能够筛选满足要求的数据:
备忘录记住这张图,能够帮助你很好地理解transform函数的使用,建议收藏保存~
|
|