当前位置: 首页 > 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;其包含的特征有经度、…...

QCC51XX---pydbg_cmd集合

目录 common pydbg_cmd headset pydbg_cmd earbud pydbg_cmd common pydbg_cmd log apps1.log_level() apps1.fw.gbl.debug_log_level__global 查看log等级apps1.fw.gbl.debug_log_level__global.value = 5 设置log等级 apps1.log()...

camx 马达的MSM_ACTUATOR_WRITE_DAC 操作

camx 马达的MSM_ACTUATOR_WRITE_DAC操作 为什么要分析 MSM_ACTUATOR_WRITE_DACmm-camera MSM_ACTUATOR_WRITE_DACcamx MSM_ACTUATOR_WRITE_DAC总结 为什么要分析 MSM_ACTUATOR_WRITE_DAC 目前的camx源码 省略了hw_mask 的处理。 一般来说 hw_mask 是0 &#xff0c;但是对于非0…...

【无人机】无人机平台的非移动 GPS 干扰器进行位置估计的多种传感器融合算法的性能分析(Matlab代码实现)

&#x1f4a5; &#x1f4a5; &#x1f49e; &#x1f49e; 欢迎来到本博客 ❤️ ❤️ &#x1f4a5; &#x1f4a5; &#x1f3c6; 博主优势&#xff1a; &#x1f31e; &#x1f31e; &#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 …...

一篇文章搞定《RecyclerView缓存复用机制》

------《RecyclerView缓存复用机制》 前言零、为什么要缓存一、RecyclerView如何构建我们的列表视图二、缓存过程三、缓存结构1、mChangedScrap/mAttachedScrap2、mCachedViews3、mViewCacheExtension4、mRecyclerPool 四、总结 前言 本篇文章&#xff0c;暂时不加入预加载进行…...

Elasticsearch概述

1.Elasticsearch干啥的&#xff1f; Elasticsearch 是一个开源的分布式搜索和分析引擎&#xff0c;用于实时搜索、分析和存储大规模数据。它可以帮助用户在海量数据中快速进行全文搜索、聚合分析、地理空间分析等操作&#xff0c;并支持水平扩展以应对高并发访问需求。 Elasti…...

停车场收费系统

1.系统的开发工具 1.1 AppServe集成应用 Mysql&#xff1a;MySQL 是一款安全、跨平台、高效的&#xff0c;并与 PHP、Java 等主流编程语言紧密结合的数据库系统。该数据库系统是由瑞典的 MySQL AB 公司开发、发布并支持&#xff0c;由 MySQL 的初始开发人员 David Axmark 和 Mi…...

nodejs+vue+elementui学生毕业生离校系统

学生毕业离校系统的开发过程中。该学生毕业离校系统包括管理员、学生和教师。其主要功能包括管理员&#xff1a;首页、个人中心、学生管理、教师管理、离校信息管理、费用结算管理、论文审核管理、管理员管理、留言板管理、系统管理等&#xff0c;前台首页&#xff1b;首页、离…...

儿童用灯哪个品牌好?推荐专业的儿童护眼台灯

一款好的儿童台灯&#xff0c;主要是从5个方面决定&#xff0c;照度及均匀度&#xff0c;蓝光&#xff0c;色温&#xff0c;显指&#xff0c;频闪 ① 照度及均匀度最高是国AA级&#xff0c;其次就是国A级 ② 蓝光一定要选择RG0无危险级&#xff0c;蓝光能量最强&#xff0c;…...

探究Android插件化开发的新思路——Shadow插件化框架

Shadow插件化框架是什么&#xff1f; Shadow是一种Android App的插件化框架&#xff0c;它利用类似于ClassLoader的机制来实现应用程序中的模块化&#xff0c;并让这些模块可以在运行时灵活地进行加载和卸载。Shadow框架主张将一个大型的Android App拆分成多个小模块&#xff…...

SimpleDateFormat和DateTimeFormatter的区别及使用详解

目录 1.简介2.区别3.SimpleDateFormat3.1 字符串转日期3.2 日期转字符串 4.DateTimeFormatter4.1 字符串转日期4.2 日期转字符串 扩展 1.简介 DateTimeFormatter 和 SimpleDateFormat 都是用于格式化日期和时间的类&#xff0c;但是它们有一些区别。 SimpleDateFormat 是 Jav…...

万网空间/江门网站优化公司

1. 直接插入排序 插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴&#xff0c;但它的原理应该是最容易理解的了&#xff0c;因为只要打过扑克牌的人都应该能够秒懂。插入排序是一种最简单直观的排序算法&#xff0c;它的工作原理是通过构建有序序列&#xff0c;对于…...

国外做内容网站/优化网络推广外包

大数据时代&#xff0c;什么最贵? 十年前&#xff0c;葛大爷曾说过&#xff0c;“21世纪什么最贵?”——“人才”&#xff0c;深以为然。只是&#xff0c;十年后的今天&#xff0c;大数据时代也带来了身价不断翻番的各种数据。由于急速拓展的网络带宽以及各种穿戴设备所带来…...

长春建设局网站/seo招聘

记下吧&#xff0c;省得又忘记。Java配置环境变量&#xff0c;在系统变量内新建&#xff0c;若存在则编辑JAVA_HOMEC:\Program Files\Java\jdk1.6.0_29Path%JAVA_HOME%/bin;%JAVA_HOME%/jre/binjavah生成.h进入工程目录下的...\bin\classesjavah -classpath 包名.类名也可看jav…...

怎么把自己的网站放到百度搜索上/百度关键词seo排名

在移动端&#xff0c;click事件有延迟&#xff0c;延迟主要是判断当前是滑动还是点击&#xff0c;延迟时间大约有300ms为了提升用户体验&#xff0c;tap事件可以降低延迟的时间...

做学校的网站推广发展前景/搜索引擎公司排名

转载自&#xff1a;https://gist.github.com/andrewjong/6b02ff237533b3b2c554701fb53d5c4d&#xff0c;本文只做个人记录学习使用&#xff0c;版权归原作者所有。 import torch from torchvision import datasetsclass ImageFolderWithPaths(datasets.ImageFolder):"&qu…...

注册域名之后如何做网站/seo优化一般包括哪些

目录第80题 编写程序&#xff1a;分解质因数(10分)&#x1f34b;题目描述&#x1f34b;源代码第80题 编写程序&#xff1a;分解质因数(10分) &#x1f34b;题目描述 求出区间[a,b]中所有整数的质因数分解。 输入格式   输入两个整数a&#xff0c;b。 输出格式   每行输出…...