DataFrame 循环处理效率的记录

news2024/11/6 3:15:35

几种工具的处理效率比较:

每次循环都使用复杂的操作尽可能拆分成向量化操作,也可转为numpy,再用numba加速。

对 DataFrame 中的数据做循环处理的效率:

方法一:下标循环
for i in range(len(df)):
    if df.iloc[i]['test'] != 1:
        df1.iloc[i]['test'] = 0

通过循环一个下标数列,通过iloc获取数据,是最慢的方法。

方法二:iterrows 循环
for ind, row in df.iterrows():
    if row['test'] != 1:
        df1.iloc[i]['test'] = 0
    i += 1

通过iterrows循环,ind和row代表了每一行的index和内容,比下标循环速度提升了300倍。

方法三:Apply

df1['test'] = df['test'].apply(lambda x: x if x == 1 else 0)

Apply内接匿名函数,对Dataframe每一行循环处理,比下标循环速度提升了800倍。

方法四:Pandas内置向量化函数

res = df.sum()

Pandas有大量内置向量化函数,比如sum,mean可快速计算。比下标循环快了9280倍。

方法五:Numpy

df_values = df.values
res = np.sum(df_values)

将Pandas数据转为Numpy,用Numpy内置函数做向量化操作,比下标循环快了71800倍。

参考:

dataframe 循环_【Python效率】五种Pandas循环方法效率对比_weixin_39744230的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/352907.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GEE学习笔记 七十七:GEE学习方法简介

这是一篇关于学习方法的思考探索,当然我不会大篇文章介绍什么学习方法(因为我也不是这方面的专家?),这个只是总结一下我是如何学习GEE以及在学习中遇到问题时如何解决问题的。我写这篇文章的目的就是在和一些学习GEE的新同学接触…

Stable diffusion扩散模型相关原理

时隔两年半(2年4个月),我又回来研究生成技术了。以前学习研究GAN没结果,不管是技术上,还是应用产品上,结果就放弃了,现在基于diffusion的技术又把生成技术带上了一个新的高度。现在自己又来研究…

一款好的低代码开发平台应该是什么样?

一款好的低代码开发平台应该是什么样? 以企业级应用构建来讲,完成一个应用复杂度随着技术的进步、需求的细化、业务要求的变化并不是逐渐降低,而是逐渐提升。用户想要有更好的体验,复杂度更是成倍提升。 基于此,低代码…

【机器学习】Sklearn 集成学习-投票分类器(VoteClassifier)

前言 在【机器学习】集成学习基础概念介绍中有提到过,集成学习的结合策略包括: 平均法、投票法和学习法。sklearn.ensemble库中的包含投票分类器(Voting Classifier) 和投票回归器(Voting Regressor),分别对回归任务和分类任务的…

比Teambition、Worktile 更适合研发团队的几大工具盘点

Worktile 和 Teambitiom 哪个更好?两个产品各有特点。1.Teambition 优势:操作简单、个人版永不收费、更适合小型团队;2.Teambition 劣势:无法满足中大型团队复杂的项目管理、自定义能力弱、无法与钉钉以外的工具打通等&#xff1b…

再次遇到RuntimeError: CUDA error: an illegal memory access was encountered

之前遇到过一次记录下来了,第一次遇到 翻看之前的记录,首先想着如何让pycharm准确地显示错误。 1:os.environ[‘CUDA_LAUNCH_BLOCKING’] 1’,模型前加这句,但是我在train文件中已经加了,还是不清楚报错原因。 2:使用…

Python快速上手系列--三元表达式--入门篇

不知道你是否在写代码的时候会用到很多的if else的判断呢。如果是,不妨看完这一篇文章,看看是否对你有一定的帮助。先来看看三元表达式的写法:那么怎么写呢,看看:这里的意思是,如果为真,则输入1…

RTX40 系列游戏本与台式机显卡 AI 计算力对比

RTX40 系列游戏本还有几天就上市了,商家选了个比较特别的日子,2 月 22 号 22:00,真是有心了。为了用游戏本做 AI 的朋友选的时候有的放矢,特意查了一下 RTX40 系列的 CUDA 核心与频率,计算一下 FP32 TFLOPS&#xff0c…

C++中如何实现用异或运算找出数组中只出现一次的数字???

文章目录1、异或运算符的运算1、异或运算符的运算 问题描述&#xff1a; 给出一个指定的数组&#xff0c;只有一个数出现一次&#xff0c;剩下都出现两次&#xff0c;找出出现一次的数字。指定数组为[1,2,2,1,3,4,3]。 样例输出&#xff1a;4 #include<iostream> using…

Django框架之模型视图

视图 重点 HttpRequest 位置参数和关键字参数查询字符串请求体:表单数据,JSON数据请求头 HttpResponse HttpResponse JsonResponse redirect 类视图 类视图的定义和使用 类视图装饰器(难点) 视图介绍和项目准备 视图介绍 视图就是应用中views.py文件中的函数视图的第一…

SpringMVC创建异步回调请求的4种方式

首先要明确一点&#xff0c;同步请求和异步请求对于客户端用户来讲是一样的&#xff0c;都是需客户端等待返回结果。不同之处在于请求到达服务器之后的处理方式&#xff0c;下面用两张图解释一下同步请求和异步请求在服务端处理方式的不同&#xff1a;同步请求异步请求两个流程…

OKCC呼叫中心支持哪些接入方式?

使用OKCC系统开展呼叫中心业务&#xff0c;要将电话打通&#xff0c;需要什么样的设备接入到OKCC系统呢&#xff1f; 目前实际广泛使用的接入方式&#xff0c;既有硬件网关接入方式&#xff0c;也有软件接入方式&#xff0c;在生产实践中&#xff0c;我们须根据实际的需求及使…

kubernetes教程 --资源管理

资源管理 介绍 所有的k8s内容都抽象为资源的方式&#xff0c;用户通过操作资源来管理k8s k8s的核心就是对集群上的pod&#xff0c;pod控制器&#xff0c;service&#xff0c;存储等何种资源进行操作 资源管理方式 命令式对象管理 直接用命令去操作k8s资源 kubectl run nginxp…

基于 瑞芯微 RK1126 平台的项目总结(包含AI 画中画 RTSP OSD 录像 双路摄像头)

其实这个项目结束一两个月了 中间过了个年 就把这事给忘记了 趁现在比较空记录一下 说下概况 项目是基于RK1126平台 硬件配置2个摄像头一个广角一个长焦 需要支持画中画在广角摄像头的画面中 显示长焦摄像头的大概位置 但是由于硬件还是驱动没有搞好 导致了两个摄像头不…

Puppeteer 爬虫学习

puppeteer简介&#xff1a; Puppeteer 是一个 Node 库&#xff0c;它提供了一个高级 API 来通过 DevTools 协议 控制 Chromium 或 Chrome。Puppeteer 默认以 headless 模式运行&#xff0c; 但是可以通过修改配置文件运行“有头”模式。能作什么&#xff1f;&#xff1a; 生成…

Linux驱动学习笔记

驱动学习笔记 1、字符设备驱动 Linux 驱动有两种运行方式 第一种就是将驱动编译进 Linux 内核中&#xff0c;这样当 Linux 内核启 动的时候就会自动运行驱动程序。 第二种就是将驱动编译成模块(Linux 下模块扩展名为.ko)&#xff0c;在 Linux 内核启动以后使用“insmod”命…

稳态钙钛矿IV测试系统太阳光模拟器

一、概述用途:设备在一定的面积下提供一个接近自然光的光源&#xff0c;光源等级为AAA 级&#xff0c;主要用于大面积光伏组件的老化测试&#xff0c;测试可满足 IEC 61215、IEC 61730 标准。二、设备主体设备箱体尺寸2、硬件信息设备箱体采用能够完全阻隔太阳光的板材拼装而成…

金三银四春招特供|高质量面试攻略

&#x1f530; 全文字数 : 1万5千 &#x1f552; 阅读时长 : 20min &#x1f4cb; 关键词 : 求职规划、面试准备、面试技巧、谈薪职级 &#x1f449; 公众号 : 大摩羯先生 本篇来聊聊一个老生常谈的话题————“面试”。利用近三周工作午休时间整理了这篇洋洋洒洒却饱含真诚…

搭建Hexo博客-第4章-绑定自定义域名

搭建Hexo博客-第4章-绑定自定义域名 搭建Hexo博客-第4章-绑定自定义域名 搭建Hexo博客-第4章-绑定自定义域名 在这一篇文章中&#xff0c;我将会介绍如何给博客绑定你自己的域名。其实绑定域名本应该很简单的&#xff0c;但我当初在这上走了不少弯路&#xff0c;所以我觉得有…