当前位置: 首页 > news >正文

pandas使用教程:apply函数、聚合函数agg和transform

文章目录

        • apply函数调用
          • apply函数描述性统计
          • apply函数lambda自定义
        • 聚合函数aggregate/agg
          • 用字典实现聚合
        • transform函数
          • 多函数 Transform
        • 重置索引与更换标签
          • 行重置索引
          • 行和列同时重置索引

apply函数调用

apply函数描述性统计
import numpy as np
df.loc[:,'Q1':'Q4'].apply(np.mean)
df.loc[:,'Q1':'Q4'].apply('mean') #两种写法均可Q1    49.20
Q2    52.55
Q3    52.67
Q4    52.78
dtype: float64
df.loc[:,'Q1':'Q4'].apply(np.cumsum) #累加函数
apply函数lambda自定义
#每季度最值之差
df.loc[:,'Q1':'Q4'].apply(lambda x: x.max() - x.min())Q1    97
Q2    98
Q3    98
Q4    97
dtype: int64
#最大值对应索引
df.loc[:,'Q1':'Q4'].apply(lambda x: x.idxmax())Q1    Lincoln4
Q2      Harley
Q3        Lfie
Q4      Ronnie
dtype: object

聚合函数aggregate/agg

#计算每列总和 平均数
df.iloc[:,1:].agg(['sum','mean'])
#使用匿名函数lambda
df.iloc[:,1:].agg(['sum',lambda x:x.mean()])
#自定义函数 三种方法
def avg(x):return x.mean()
df.iloc[:,1:].agg(['sum',avg])Q1	Q2	Q3	Q4
sum	4920.0	5255.00	5267.00	5278.00
mean	49.2	52.55	52.67	52.78
用字典实现聚合

指定为哪些列应用哪些聚合函数时,需要把包含列名与标量(或标量列表)的字典传递给 DataFrame.agg

df.iloc[:,1:].agg({'Q1': 'mean', 'Q2': 'sum'})Q1      49.2
Q2    5255.0
dtype: float64
df.iloc[:,1:].agg({'Q1':['mean','max'],'Q2':'sum'})Q1	Q2
max	98.0	NaN
mean	49.2	NaN
sum	NaN	5255.0

transform函数

transform方法的返回结果与原始数据的索引相同,大小相同。与 .agg API 类似,该 API 支持同时处理多种操作,不用一个一个操作。

#将Q1列全部转换为整数
df['Q1'].transform(np.round)name
Liver       89
Arry        36
Ack         57
Eorge       93
Oah         65..
Gabriel     48
Austin7     21
Lincoln4    98
Eli         11
Ben         21
Name: Q1, Length: 100, dtype: int64
多函数 Transform

transform() 调用多个函数时,生成多层索引 DataFrame。第一层是原始数据集的列名;第二层是 transform() 调用的函数名。

#transform调用两个函数
df['Q1'].transform([np.round,lambda x:x+1])round_	<lambda>
name		
Liver	89	90
Arry	36	37
Ack	57	58
Eorge	93	94
Oah	65	66
...	...	...
Gabriel	48	49
Austin7	21	22
Lincoln4	98	99
Eli	11	12
Ben	21	22

重置索引与更换标签

#生成一个4x4的dataframe
s = pd.DataFrame(np.random.randint(0,100,(4,4)),index=['a','b','c','d'],columns=['s','w','x','r'])s	w	x	r
a	6	28	84	27
b	1	56	92	66
c	46	46	3	91
d	4	81	1	51
行重置索引
s.reindex(['d','c','b','a'])s	w	x	r
d	4	81	1	51
c	46	46	3	91
b	1	56	92	66
a	6	28	84	27
行和列同时重置索引
s.reindex(index=['d','c','b','a'],columns=['r','x','w','s'])r	x	w	s
d	51	1	81	4
c	91	3	46	46
b	66	92	56	1
a	27	84	28	6

相关文章:

pandas使用教程:apply函数、聚合函数agg和transform

文章目录 apply函数调用apply函数描述性统计apply函数lambda自定义 聚合函数aggregate/agg用字典实现聚合 transform函数多函数 Transform 重置索引与更换标签行重置索引行和列同时重置索引 apply函数调用 apply函数描述性统计 import numpy as np df.loc[:,Q1:Q4].apply(np.…...

使用rasterio裁剪遥感影像

文章目录 0. 数据准备1. polygon的坐标系转换1.1 polygon生成1.1.1 输入数据是shapefile1.1.2 输入数据是polygon 1.2 搞清楚遥感的坐标系和polygon的坐标系(重点)1.3 开始转换 2. 基于polygon的遥感影像裁剪2.1 基础裁剪方法2.1.1 使用rasterio保存2.1.2 使用numpy保存2.2 多线…...

BetaFlight统一硬件配置文件研读之set命令

BetaFlight统一硬件配置文件研读之set命令 1. 源由2. 代码分析3. 实例分析4. 配置情况4.1 set4.2 set parameter_name4.3 set parameter_name value 5. 参考资料 统一硬件配置文件的设计是一种非常好的设计模式&#xff0c;可以将硬件和软件的工作进行解耦。 1. 源由 cli命令…...

QT+OpenGL高级数据和高级GLSL

QTOpenGL高级数据和高级GLSL 本篇完整工程见gitee:QtOpenGL 对应点的tag&#xff0c;由turbolove提供技术支持&#xff0c;您可以关注博主或者私信博主 高级数据 OpenGL中的缓冲区 对象管理特定的GPU内存 在将缓冲区绑定到特定的缓冲区目标时候赋予它意义 OpenGL在内部会保…...

接口测试之Jmeter+Ant+Jenkins接口自动化测试平台

目录 平台简介 环境准备 Jenkins简介 下载与安装 平台搭建 依赖文件配置 build.xml配置 Ant构建 阿里大佬倾情演绎&#xff0c;3天让你学会Jmeter接口测试&#xff0c;学不会算我输_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Q84y1K7bK/?spm_id_from333.99…...

FPGA设计中锁存器产生、避免与消除

FPGA设计中锁存器产生、避免与消除 一、锁存器的产生1.1 组合逻辑中使用保持状态1.2 组合逻辑中的if-else语句或case语句未列出所有可能性1.3 小结 二、锁存器的避免三、锁存器的消除3.1 情况一 一、锁存器的产生 锁存器的产生主要有以下两种情况&#xff1a;&#xff08;1&…...

一份标准的软件测试方案模板

第一章 概述 ​ 软件的错误是不可避免的&#xff0c;所以必须经过严格的测试。通过对本软件的测试&#xff0c;尽可能的发现软件中的错误&#xff0c;借以减少系统内部各模块的逻辑&#xff0c;功能上的缺陷和错误&#xff0c;保证每个单元能正确地实现其预期的功能。检测和排…...

【C++】-对于自定义类型的输入输出运算符重载

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树 ❤️‍&#x1fa79;作者宣言&#xff1a;认真写好每一篇博客 &#x1f4a8;作者gitee:gitee &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 文章目录 前言一、案例引入二、<<的重载三、>>的…...

(详解)js中什么是宏任务、微任务?宏任务、微任务有哪些?又是怎么执行的?

目录 参考资料 必看强烈建议十分钟看完视频 &#xff0c;即可学会 必看参考详解宏任务微任务 笔记 宏任务与微任务 定时器的任务编排 promise的微任务处理逻辑 DOM渲染任务 任务队列共享内存 进度条的实现 任务拆分成多个任务 promise复杂任务分割 img算同步还是异步…...

Okta 即代码:云原生时代的身份管理

我们为什么应该将 Okta 配置作为代码进行管理&#xff1f; 对于需要跨多个应用程序和环境管理对其数字资源的访问的组织来说&#xff0c;Okta 可能是最受欢迎的选择&#xff0c;因为它提供了一系列使其在身份验证和授权方面很受欢迎的功能&#xff0c;例如&#xff1a; 单点登…...

数据结构(六)—— 二叉树(7)构建二叉树

文章目录 如何使用递归构建二叉树1、创建一颗全新树&#xff08;题1-5&#xff09;2、在原有的树上新增东西&#xff08;题6&#xff09; 1 106 从 后序 与 中序 遍历序列构造二叉树2 105 从 前序 与 中序 遍历序列构造二叉树3 108 将有序数组转换为二叉搜索树&#xff08;输入…...

安装适用于Linux的Windows11子系统(WSL2)

1. 主板BIOS开启虚拟化 开启虚拟化需要在BIOS中进行设置&#xff0c;进入主板BIOS→找到虚拟化设置→开启。 2. 检验是否开启虚拟化 打开Windows命令行&#xff0c;并运行 systeminfo固件中已启用虚拟化为是&#xff0c;代表主板BIOS已经开启虚拟化。 3. 启用Windows功能…...

使用Spring的五大类注解读取和存储Bean

目录 1.存储Bean对象的注解 1.1 五大类注解 1.2 方法注解 1.3添加注解的依赖 2.注解的使用 2.1 controller注解 2. 2Service注解 2.3.Resopsitory注解 2.4Component注解 2.5Configuration注解 2.6 注解之间的关系 3.方法注解 3.1 方法注解要配合类注解来使用。 3.2…...

Vue3通透教程【十一】初探TypeScript

文章目录 🌟 写在前面🌟 TypeScript是什么?🌟TypeScript 增加了什么?🌟TypeScript 初体验🌟 写在最后🌟 写在前面 专栏介绍: 凉哥作为 Vue 的忠实 粉丝输出过大量的 Vue 文章,应粉丝要求开始更新 Vue3 的相关技术文章,Vue 框架目前的地位大家应该都晓得,所谓…...

Linux环境安装iperf3(网络性能测试工具)

[rootlocalhost ]# yum search iperf 已加载插件&#xff1a;fastestmirror Loading mirror speeds from cached hostfile* base: mirrors.tuna.tsinghua.edu.cn* extras: mirrors.huaweicloud.com* updates: mirrors.tuna.tsinghua.edu.cnN/S matched: iperf iperf3-devel.i6…...

回顾第一章

回顾 Shell脚本中的$虚函数虚函数和纯虚函数 git merge/rebasegit merge特点git rebase特点 Linux内核调试——coredump获取core dump 深度测试和模板测试2D游戏的制作思路C11特性 Shell脚本中的$ ​ $0: 脚本自身的名称&#xff1b; $1: 传入脚本的第一个参数&#xff1b; $2…...

Jupyter Notebook入门教程

Jupyter Notebook&#xff08;又称Python Notebook&#xff09;是一个交互式的笔记本&#xff0c;支持运行超过40种编程语言。本文中我们将介绍Jupyter Notebook的主要特点&#xff0c;了解为什么它能成为人们创造优美的可交互式文档和教育资源的一个强大工具。 首先&#xff…...

独立按键识别

项目文件 文件 关于项目的内容知识点可以见专栏单片机原理及应用 的第四章 IO口编写 参考图电路编写程序&#xff0c;要求实现如下功能: 开始时LED均为熄灭状态&#xff0c;随后根据按键动作点亮相应LED(在按键释放后能继续保持该亮灯状态&#xff0c;直至新的按键压下时为止…...

【论文阅读】AlphaFold2阅读笔记

摘要 给一串氨基酸的序列&#xff0c;去预测他的结构是什么样的 蛋白质的折叠问题 alphaFold精度不够 这里可以达到原子精度的预测 CASP14 精度 这个是什么问题是不是解决了问题 模型的结果并不重要 导论 摘要故事的详细版本 在写论文的时候&#xff0c;可以这样写&a…...

机器学习基础知识之数据归一化

文章目录 归一化的原因1、最大最小归一化2、Z-score标准化3、不同方法的应用 归一化的原因 在进行机器学习训练时&#xff0c;通常一个数据集中包含多个不同的特征&#xff0c;例如在土壤重金属数据集中&#xff0c;每一个样本代表一个采样点&#xff0c;其包含的特征有经度、…...

智能休息提醒扩展:基于上下文感知的开发者健康管理工具

1. 项目概述&#xff1a;一个为开发者设计的“代码暂停”利器如果你和我一样&#xff0c;每天大部分时间都泡在代码编辑器里&#xff0c;那你肯定经历过这样的时刻&#xff1a;盯着一段复杂的逻辑或者一个棘手的Bug&#xff0c;大脑高速运转了半小时&#xff0c;却感觉毫无进展…...

RAG 失效的真正原因,长上下文救不了 RAG

最早大家做 RAG&#xff0c;是因为模型上下文太短&#xff0c;一次塞不进完整文档&#xff0c;只能先检索&#xff0c;再把相关片段交给模型回答。后来&#xff0c;模型上下文窗口越来越长&#xff0c;从 32K、128K 到百万 token&#xff0c;很多人开始觉得&#xff1a;RAG 可能…...

现代安全监控系统构建指南:从IPVS架构到智能分析实战

1. 项目概述&#xff1a;从“想要”到“拥有”&#xff0c;安全监控系统的核心价值“安华高科技给你想要的安全监控系统&#xff01;”——这个标题听起来像是一句承诺&#xff0c;但背后其实是一个复杂的系统工程。作为一名在安防行业摸爬滚打了十几年的从业者&#xff0c;我见…...

告别网络限制:用BilibiliDown轻松下载B站视频与音频

告别网络限制&#xff1a;用BilibiliDown轻松下载B站视频与音频 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mirrors/bi/…...

从赛场到职场:一份高职物联网技能大赛任务书的实战拆解与能力映射

1. 竞赛任务书背后的物联网技术全景 高职物联网技能大赛的任务书就像一份浓缩版的行业项目说明书&#xff0c;里面藏着物联网技术的完整技术栈。我第一次看到这份任务书时&#xff0c;发现它完美地覆盖了物联网的三大层级&#xff1a;感知层、传输层和应用层。 感知层设备选型与…...

49_《智能体微服务架构企业级实战教程》智能助手主应用服务之工具执行节点

前言 配套视频教程: 在 Bilibili课堂、CSDN课程、51CTO学堂 同步发售,提供:源码+部署脚本+文档。 bilibili课堂视频教程:智能体微服务架构企业级实战教程_哔哩哔哩_bilibili CSDN课程视频教程:智能体微服务架构企业级实战教程_在线视频教程-CSDN程序员研修院 51CTO学堂…...

保姆级教程:在HCL模拟器上给H3C路由器配置DHCP服务器(双网段实战)

从零构建H3C路由器双网段DHCP服务&#xff1a;模拟器实战与协议解析 在虚拟实验室中搭建网络环境已成为现代工程师的必备技能&#xff0c;而DHCP服务作为网络自动化的基石&#xff0c;其配置过程往往成为初学者接触企业级设备的第一个实战挑战。本文将使用H3C官方推出的HCL模拟…...

如何高效应用思源宋体:设计师的5个专业字体应用技巧

如何高效应用思源宋体&#xff1a;设计师的5个专业字体应用技巧 【免费下载链接】source-han-serif-ttf Source Han Serif TTF 项目地址: https://gitcode.com/gh_mirrors/so/source-han-serif-ttf 还在为中文排版设计烦恼吗&#xff1f;思源宋体CN作为一款免费开源的专…...

HalloWing M0开发板:从Arduino到CircuitPython的嵌入式创意实践

1. 项目概述&#xff1a;为什么选择HalloWing M0作为你的创意引擎如果你和我一样&#xff0c;喜欢捣鼓些能发光、发声甚至能感知互动的电子小玩意儿&#xff0c;但又对那些密密麻麻的接线和复杂的底层寄存器配置感到头疼&#xff0c;那么Adafruit HalloWing M0开发板很可能就是…...

Web安全入门避坑指南:用Pikachu靶场搞懂文件上传的3种Check方式(前端、MIME、getimagesize)

Web安全实战&#xff1a;Pikachu靶场文件上传漏洞攻防全解析 当你第一次接触Web安全时&#xff0c;文件上传功能可能是最令人兴奋又最危险的漏洞之一。想象一下&#xff0c;攻击者仅通过一个看似无害的上传表单就能完全控制你的服务器——这不是电影情节&#xff0c;而是每天都…...