当前位置:首页 > TAG信息列表 > 应该如何提速?

应该如何提速?

python快速导入数据库用哪个 Python使用Pandas读取数据库很慢,应该如何提速?

python使用pandas读取数据库很慢,应该如何提速?

谢谢你邀请我!

熊猫编程库是数据科学社区的天赐之物。无论你问哪个数据科学家,他们是如何用python处理他们的数据集的,他们无疑都会谈到熊猫。

pandas是一个伟大的编程库的缩影。:简单、直观、多才多艺。

python快速导入数据库用哪个 Python使用Pandas读取数据库很慢,应该如何提速?

但是,要把数据科学家的熊猫数据框架计算上千次甚至上百万次,仍然是一个挑战。你可以不要只是在编写pythonfor循环语句时输入数据,并期望在合理的时间内处理数据。

pandas被设计为一次处理整个行或列的矢量化,在每个单元格、行或列中循环,但它不是为使用库而设计的。所以在使用熊猫的时候,要考虑高度并行化的矩阵运算方法。

本指南将教你如何使用熊猫,这是一个旨在使用和思考的矩阵操作。在这个过程中,我将向您展示一些实用且省时的技巧和诀窍,它们将使您的熊猫代码运行得比那些可怕的pythonforloops更快!

我们的设置

在本教程中,我们将使用经典的鸢尾花数据集。让开始滚动,用seaborn加载数据集,输入前5行。

现在让我们让我们构建一个基线,并用pythonforloop测量我们的速度。我们将通过循环遍历每一行来设置要在数据集上执行的计算,然后测量整个操作的速度。这将为我们提供一个基线,看看我们的新优化能在多大程度上帮助我们摆脱困境。

在上面的代码中,我们创建了一个基本函数,它使用了if-else语句。我们编写一个for循环,通过循环dataframe对每一行应用一个函数,然后测量循环的总运行时间。

在我的i7-8700k电脑上,循环5次平均需要0.01345秒。

循环语句。iterrows()

这是最简单但最有价值的方法,它可以加快。熊猫内置iterrows()函数。

在上一节编写for循环时,我们使用了range()函数。然而,当我们在python中循环大量的值时,生成器通常要快得多。在本文中,您可以阅读更多关于发电机如何工作并使其运行更快的信息。

潘朵拉s.iterrows()函数在内部实现了一个生成器函数,它将在每次迭代时生成一行dataframe。更具体地说,。iterrows()为dataframe中的每一行生成(index,series)元组。这实际上与原始pyt中的相同类似enumerate()这样的东西在hon中也是一样的,但是运行起来要快得多。

接下来,我们修改了代码以使用。iterrows()而不是常规的for循环。在我上一节测试的同一台机器上,平均运行时间是0.005892秒——快了2.28倍!

使用。apply()完全删除循环。

的。iterrows()函数给我们带来了巨大的速度,但是我们还远远没有完成。永远记住,当使用为向量操作设计的库时,可能有一种方法可以在不使用for循环的情况下最有效地完成任务。

熊猫函数为我们提供了这个函数。apply()函数。our()接受另一个函数作为它的输入,并沿着轴(行、列等)应用它。)的数据帧。以我们的传递函数为例,lambda通常可以方便地将所有东西打包在一起。

在下面的代码中,我们用。应用()和lambda函数来封装我们想要的计算。在我的机器上,这段代码的平均运行时间是0.0020897秒,比我们原来的for循环快6.44倍。

apply()之所以这么快,是因为它在内部尝试了cython迭代器。如果你的函数恰好是为cython优化的,那么。apply()会给你带来更快的速度。一个额外的好处是,使用内置函数可以生成更干净、更易读的代码。

最后

正如我前面提到的,如果您使用的是为矢量化而设计的库,您应该总是寻找一种不使用for循环的计算方法。

同样,也有很多这样设计的库,包括熊猫,会有方便的内置函数,可以进行你要找的精确计算,而且会更快。

的。熊猫的cut()函数定义了一组bin作为输入,这些bin定义了if-else的每个范围和每组标签,这些标签定义了每个范围返回的值。然后,它执行与我们使用compute_class()函数手工编写的操作完全相同的操作。

查看下面的代码以了解如何操作。cut()有效。我们又一次获得了代码更清晰、可读性更好的好处。最后是。cut()函数平均运行0.001423秒,比原来的for循环快9.39倍!

更多关于人工智能的资讯、深度报道、访谈,欢迎关注ai。不管你是小白还是大神,你想要的在这里都有!

电脑能同时安装python数据库和java数据库么?

数据库中没有语言区分。

常用的数据库有mysql、oracle等。

你只需要在电脑上安装一个数据库,那么python和jav。可以使用。

it只是连接到数据库的方法不同。

函数数据熊猫代码iterrows


豆豆号 万景网

  • 关注微信关注微信

猜你喜欢

热门标签

cad打印图纸怎么设置彩色 京东话费怎么充值10元 注册表编辑器无法导入怎么办 手机wps怎么签字手写 360补丁管理功能在哪360补丁管理功能介绍 qq怎么查找登录过的设备 华为路由器登录入口 B4文档怎么转换成A3 icloud照片删除了怎么恢复 vivo手机系统升级小红点怎么关掉 微信没有声音怎么办 微软官网更新系统升级 oppoace2突然不能快充了介绍 ps选区填充颜色快捷键 吾记app怎么没办法添加相册的照片儿童绘画相册取名?介绍 搜狗输入法在电脑上怎么弄剪贴板带剪切板的输入法?介绍 ps怎么减掉选区范围ps变换选区 华为m6如何一键转换电脑模式华为M6电脑模式介绍 mate20pro鸿蒙系统最新版本mate20pro用哪个系统稳定? 苹果4s停用了怎么办最简单的方法ipad4s已停用连接itunes解锁教程?介绍 文档怎么只在指定页添加水印起点读书推文怎么做?介绍 用a4纸画十厘米边框线条立体图a4纸画图标题栏离边框距离? 听听FM怎么样? 如何使用小程序注册支付宝企业怎么申请支付宝收款码?介绍 软件怎么清空缓存iphone剪映缓存清理不了? 电信天翼网关2.0和3.0区别天翼网关2.4gwifi应该开还是关? 电脑无法访问指定设备路径文件C盘的DocumentsandSettings文件夹拒绝访问怎么办啊?介绍 小红书朋友圈文案怎么复制小红书广告词范文? sqlserver配置管理器启动失败solidworks安装sqlserver失败? jquery链接式操作怎样学习开发软件?

微信公众号