当前位置:首页 > TAG信息列表 > python快速导入数据库用哪个Python使用Pandas读取数据库很慢

python快速导入数据库用哪个Python使用Pandas读取数据库很慢

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


豆豆号 万景网

  • 关注微信关注微信

猜你喜欢

热门标签

知道手机号怎么快速加微信好友手机号添加微信好友介绍 linux查看oracle表空间大小 中国移动营业厅办手机卡流程 C盘程序为什么卸载不了 携程注销账户如何恢复介绍 iphoneqq黑名单怎么看iPhoneQQ黑名单查看方法 苹果手机应用小窗怎么设置 ipad上如何抠图 支付宝怎么绑手机号 intelactivemanagement怎么安装 华为手机录音怎么打开 u盘主控型号检测不出来 苹果为什么卸载不了软件介绍 连接wifi的电脑ip地址是固定的吗家里的宽带ip是固定的吗?介绍 ipad添加qq邮箱使用不了怎么设置ipad怎么开启邮件? web前端css主要知识点html学不好该怎么办?有什么办法解决吗? 苹果手机可以锁机吗苹果手机锁机怎么打开?介绍 word组合框控件怎么添加内容word控件用于什么地方? 苹果手机录屏时怎样才能录到声音 三星手机怎么关掉充电息屏显示三星充电动画怎么关? 怎么把电脑上照片文件传到手机上如何把手机上的照片输入到计算机里去? 华为分屏怎样打开 时光相册怎样免费增加空间时光相册升级后找不到加密相册?介绍 华为的快捷键一个圆点怎么取消 苹果手机哪个打王者荣耀不卡苹果手机王者荣耀设置怎么调最好?介绍 手机浏览器哪个好用网速快更安全怎样设置手机dns网速可以达到最快最稳定? 苹果手机界面图标不见了 群满200人以后怎么快速拉人社区团购如何快速的获得周边的人加微信群?介绍 苹果4手机开关机不回弹oppoa5玩王者卡住了 为什么win10没有压缩文件选项windows无法创建压缩文件夹怎么办?

微信公众号