外链论坛

 找回密码
 立即注册
搜索
查看: 1|回复: 0

运用Modin加速Pandas

[复制链接]

2602

主题

330

回帖

9920万

积分

论坛元老

Rank: 8Rank: 8

积分
99200726
发表于 3 小时前 | 显示全部楼层 |阅读模式

近期偶然发掘了一个叫做Modin [1]的小型库,它声叫作能够让pandas运行的更快。她们用来描述这个项目的其中一句话是:

"经过更改一行代码来加速你的pandas工作流"

听起来特别有趣,倘若是真的话,那就道理重大了。

运用modin只需要导入modin来代替pandas,并且不需要更改你的现有代码。

一个警告—— modin日前运用panda 0.20.3(当运用 pip install modin 来安装modin时,最少需要安装panda 0.20)。倘若你正在运用最新版本的pandas,并且需要以前版本中不存在的新功能,那样你可能需要检测一下modin—尝试让它与最新版本的pandas一块工作(我还这般做)。

安装modin:

运用modin:

便是这般。你只需要运用 import modin.pandas as pd 而不是 import pandas as pd,而后你就能够得到额外的速度优良

按照文档,modin利用了现代设备上的多核技术,而pandas。从她们的网站能够看到:

Modin供给的一个Read CSV基准

在pandas中,当你做任何类型的计算的时候你每次只能运用一个核心。然则运用Modin,你能够运用设备上的所有CPU内核。即使在read_csv中,经过有效地在全部设备上分布工作,咱们看到了巨大的成效。

咱们来试一试,瞧瞧它是怎样工作的。

在这个测试中,我将尝试她们的read_csv办法由于这是她们所强调的亮点。针对这个测试,我有一个105MB的csv文件。让咱们给pandas 和 modin计时,瞧瞧它们是怎样工作的。

咱们先从pandas起始

运用pandas,读取一个105MB csv文件平均需要1.26秒。

此刻咱们来看一下modin。

在继续之前,我应该和大众分享一下,除了执行 pip install modin 之外,我还需要执行有些额外的过程才可让modin正常工作。我还必须安装typing和dask。

运用与上面完全相同的代码(除了导入modin的一点小更改—— import modin.pandas as pd)。

运用modin时,读取一个105MB csv文件平均需要0.96秒。

在这个示例中,运用modin,我能够从读取这个105MB csv文件的平均读取时间中节省0.3秒。这可能看起来不是非常多时间,然则节省了大约27%。想象一下,倘若你有5000个体积类似的csv文件要读取,这平均能够节省1500秒的时间,仅仅在读取文件上就能够节省25分钟的时间。

Modin运用Ray [2]来加速pandas,因此倘若运用Ray的有些设置,可能会节省更加多的时间。

我将在以后的有些项目中更加多运用modin来提有效率。好好看一下它,而后告诉我你的想法。

关联链接:

[1]——https://github.com/modin-project/modin

[2]——https://github.com/ray-project/ray/

英文原文:https://pythondata.com/quick-tip-speed-up-pandas-using-modin/

译者:一瞬
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-10-3 17:28 , Processed in 0.062271 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.