【谎言大揭秘】Modin真的比pandas运行更快吗?
最近看了某公众号文章,推荐了所谓的神器,据说读取速度吊打pandas,可谓牛逼。
抱着学习的精神,网上搜了文章,发现了一些端倪,事实真是这样吗?来一起揭秘真相。
- 首先安装包
# pip install ray
# pip install dask
# pip install modin
- 安装版本
Successfully installed aiohttp-3.6.2 async-timeout-3.0.1 google-2.0.3 multidict-4.7.6 py-spy-0.3.3 ray-0.8.5 redis-3.4.1 yarl-1.4.2
Requirement already satisfied: dask in /Applications/anaconda3/lib/python3.7/site-packages (2.11.0)
Successfully installed modin-0.7.3 pandas-1.0.3
Successfully uninstalled ray-0.8.5
Successfully installed pyarrow-0.16.0 ray-0.8.4
- 导入包测试
import modin.pandas as pd
# ImportError: Please `pip install modin[ray]` to install compatible Ray version.
# 首次报错
# pip install modin[ray]
- 第二次运行
弹窗,点允许,哈哈 # 您要应用程序“redis-server”接受传入网络连接吗?
modin.pandas: 76.71852612495422
import time
import modin.pandas as pd start = time.time()
#Taxi_Trips(正式).csv 5.38G
df = pd.read_csv(r'/Users/dugh/Desktop/芝加哥市出租车行车记录(2013年至今)/Taxi_Trips(正式).csv')
end = time.time()
print(end-start)
pandas: 71.43032503128052
import time
import pandas as pd start = time.time()
#Taxi_Trips(正式).csv 5.38G
df = pd.read_csv(r'/Users/dugh/Desktop/芝加哥市出租车行车记录(2013年至今)/Taxi_Trips(正式).csv')
end = time.time()
print(end-start)
- 第一轮(5.38G):pandas胜出 5 秒

- 第二轮(680.9M):pandas 胜出 3 秒

- 第三轮(3G):pandas胜出 11 秒

- 修改配置
文章说:如果待操作的数据文件远大于电脑内存RAM,可以设置,那就设置再运行一遍吧
# 如果待操作的数据文件远大于电脑内存RAM,可以设置
import os
os.environ["MODIN_OUT_OF_CORE"]='true'
import modin.pandas as pd
验证下是不是,我设置问题
-----------------------------分割线--------------------------------
- 第一轮(5.38G):pandas胜出 2 秒

- 第二轮(680.9M):pandas 胜出 3 秒

- 第三轮(3G):pandas胜出 12 秒

- 总结:
通过不同的文件格式和文件大小,pandas均比modin快,尤其在h5大文件下,快了将近一半。
真的有那么神奇吗?
就算后面改了配置,modin还是没有变快,到这里已经无需过多解释。
- 附录1
本人测试机配置:19年 15寸 macbook pro 内存16g 8核心 系统osx:10.14.6

- 附录2
本次测试数据

- 附录3
网友反馈 https://www.jiqizhixin.com/articles/2019-04-13-2

【谎言大揭秘】Modin真的比pandas运行更快吗?的更多相关文章
- [No0000A3]护眼谎言大揭秘,选择正确的方式保护眼睛!
当眼睛因为过度劳累而状况频出的时候,许多人没有选择极目远眺.眼保健操.充分睡眠等简单易行的养眼方式,而是求助于各种护眼工具.于是,在视疲劳成为常见眼病之后,护眼市场产品层出不穷:护眼灯.眼贴.眼保仪. ...
- 如何让你的eclipse运行更快和eclipse常用快捷键
方案来之网络,已自测... 原地址:戳进来 1.在eclipse启动的时候,它总是会搜索让其运行的jre,往往就是这个搜索过程让eclipse启动变慢了.(没设置时,等2-3s出现进度条,设置后直接出 ...
- Android 性能优化(27)*zipalign让apk数据对齐,运行更快。
1.zipalign 简介 zipalign is an archive alignment tool that provides important optimization to Android ...
- 【腾讯Bugly干货分享】iOS黑客技术大揭秘
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/5791da152168f2690e72daa4 “8小时内拼工作,8小时外拼成长 ...
- Spark Streaming揭秘 Day19 架构设计和运行机制
Spark Streaming揭秘 Day19 架构设计和运行机制 今天主要讨论一些SparkStreaming设计的关键点,也算做个小结. DStream设计 首先我们可以进行一个简单的理解:DSt ...
- Spark Streaming揭秘 Day3-运行基石(JobScheduler)大揭秘
Spark Streaming揭秘 Day3 运行基石(JobScheduler)大揭秘 引子 作为一个非常强大框架,Spark Streaming兼具了流处理和批处理的特点.还记得第一天的谜团么,众 ...
- 【高德地图API】汇润做爱地图技术大揭秘
原文:[高德地图API]汇润做爱地图技术大揭秘 昨日收到了高德地图微信公众号的消息推送,说有[一大波免费情趣用品正在袭来],点进去看了一眼,说一个电商公司(估计是卖情趣用品的)用高德云图制作了一张可以 ...
- 诗人般的机器学习,ML工作原理大揭秘
诗人般的机器学习,ML工作原理大揭秘 https://mp.weixin.qq.com/s/7N96aPAM_M6t0rV0yMLKbg 选自arXiv 作者:Cassie Kozyrkov 机器之心 ...
- 谷歌钦定的编程语言Kotlin大揭秘
第一时间关注程序猿(媛)身边的故事 谷歌钦定的编程语言Kotlin大揭秘 语法+高级特性+实现原理:移动开发者升职加薪宝典! 谷歌作为世界级的科技公司巨头,强悍的技术研发与创新能力使其一直是业界的楷模 ...
随机推荐
- 【Linux常见命令】cat命令
cat - concatenate files and print on the standard output cat 命令用于连接文件并打印到标准输出设备上. 用法: 1. cat file 查看 ...
- Clustered和Nonclustered Indexes 各自得特点和区别及长短处
1 簇索引 簇索引对表的物理数据页中的数据按列进行排序然后再重新存储到磁盘上即簇索 引与数据是混为一体的它的叶节点中存储的是实际的数据由于簇索引对表中的数据一 一进行了排序因此用簇索引查找数据很快但由 ...
- 项目Alpha冲刺 Day12
1)站立式会议: 2)今日安排: 项目演示. 3)项目情况 项目进展:系统已实现预期的所有的功能.问题困难:系统测试不够全面,主要做功能测试,对于非功能测试,如压力测试.效能测试.安全性等并未测试.心 ...
- Linux 开发之线程条件锁那些事
2019独角兽企业重金招聘Python工程师标准>>> 条件锁即在一定条件下触发,那什么时候适合用条件锁呢,那当然是你在等待一个符合的条件下触发.一个常用的例子就是在线程中无限循环执 ...
- 百度Openrasp开源的应用运行时自我保护产品,安装教程。
第一步: 下载最新版本的安装包 https://packages.baidu.com/app/openrasp/release/latest/rasp-php-linux.tar.bz2 解压到目录: ...
- 【Java8新特性】你知道Java8为什么要引入Lambda表达式吗?
写在前面 这是一道真实的面试题,一个读者朋友出去面试,面试官竟然问他这样一个问题:你说说Java8中为什么引入Lambda表达式?引入Lambda表达式后有哪些好处呢?还好这个朋友对Java8早有准备 ...
- 用Redislive监控redis
注意:RedisLive是使用Python2.x编写,建议使用2.7,本次环境为Centos 7.2,默认Python版本2.7. 项目地址:https://github.com/nkrode/Red ...
- Redis 6.0 新特性-多线程连环13问!
Redis 6.0 来了 在全国一片祥和IT民工欢度五一节假日的时候,Redis 6.0不声不响地于5 月 2 日正式发布了,吓得我赶紧从床上爬起来,学无止境!学无止境! 对于6.0版本,Redis之 ...
- POJ3255(次最短路)
描述 求1到n的次最短路 开个\(dis[maxn][2]\)的储存距离的二维数组,0储存最短路,1储存次短路 初始化全为正无穷,\(dis[1][0]=0;\) 然后遍历更新时,先尝试更新最短路和次 ...
- 使用 if elseif else 指定条件
nrows = 4; ncols = 6; A = ones(nrows,ncols); 遍历矩阵并为每个元素指定一个新值.对主对角线赋值 2,对相邻对角线赋值 -1,对其他位置赋值 0. for c ...