Modin 入门学习

Modin 是一个 Python 第三方库,用于加速 Pandas 的 API 执行速度。原始的 Pandas 是单线程执行的,而 Modin 则重新打包了 Pandas 里面的 API,使其同时在多个内核中运行,提高硬件性能的利用率。

使用方法很简单,安装 Modin 后,将导入 pandas 的语句由 import pandas as pd 改为 from modin import pandas as pd 即可。这时候使用的便是由 Modin 包装后的 API。但是它并没有覆盖全部的 API,遇到库中不包含的 API,它会自动切换为原始的 Pandas 执行。也就是说,使用上与原始的 Pandas 是完全一致的。

STEP-1

首先安装:pip install modin,初次使用时会报错如下:

在这里插入图片描述

需要用到分布式引擎 Ray 或者 Dask,但是安装的时候它没有作为依赖项一起安装,需要单独安装:

pip install modin[dask]

STEP-2

接下来随便找个 csv 文件来测试一下数据读取速度:

在这里插入图片描述

可以看到没有变快,反而变慢了。因为分布式计算主要是加快处理内存占用型的任务,所以上图中的文件太小时没有体现出它的优势。

STEP-3

接下来整个大一点的文件试一下:

在这里插入图片描述
可以看到 IO 速度加快了几秒,但是没有文档中说的有明显的改进。这里原因应该是测试用的电脑硬件的问题(8G+4核+机械硬盘的一台老机器)。又或者是文件还不够大,但是测试时没有很大的数据集,而且再大内存要受不了了。但是好歹它还是快了一点,有空再研究一下正确的打开方式~

STEP-4

测试完在终端退出 Python 的时候出现了两个 ERROR:tornado.iostream.StreamClosedErrorasyncio.base_futures.InvalidStateError,大意是读写流关闭的时候出现问题,估计不是上一步中影响速度的罪魁祸首。也可能是分布式引擎的兼容性问题,下次可以用 Ray 试一下。并且退出终端后,当前路径下会出现一个名为 dask-worker-space 的文件夹,里面有四个后缀名为 dirlock 的 worker 文件,是 Dask 引擎留下的临时文件。


相关阅读——Medium
阅读原文——Paradise’s Blog

待续

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

车载软件架构 —— 闲聊几句AUTOSAR OS(七)

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 没有人关注你。也无需有人关注你。你必须承认自己的价值,你不能站在他人的角度来反对自己。人生在世,最怕的就是把别人的眼光当成自己生活的唯一标…

CAD Voronoi 3D三维泰森多边形维诺图插件三维狄利克雷镶嵌(Dirichlet tessellation)

三维Voronoi Voronoi又名泰森多边形或Dirichlet图、维诺图等,三维Voronoi是由连接两邻点直线的垂直平分面组成的连续三维多面体结构。Voronoi在各个学科中应用广泛,如进行区域规划、晶体塑性有限元研究、路径优化、地形简化、多孔结构力学等方面的分析。…

蓝桥杯专题-试题版-【危险系数】【网络寻路】【高僧斗法】【约数倍数选卡片】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

Apollo分布式配置中心(二)

上一篇: 上一篇已经知道Apollo是什么东西了,接下来实践一下 目录 一、创建应用 1、 新增配置 2、创建Namespace ​3、同步配置 4、灰度发布 添加灰度配置项 ​编辑 配置灰度规则 二、删除应用、集群、appNamespace 三、springBoot整合Apollo …

C/C++结构体内存对齐的一些思考

在C中&#xff0c;结构体的内存对齐是为了提高访问结构体成员变量的效率和保证硬件的要求。 结构体对齐 C/C C 结构体内存对齐的示例代码C/C结构体内存对齐的原则结合汇编代码分析结构体的内存对齐问题 C 结构体内存对齐的示例代码 #include <iostream>struct Test_Stru…

C++之GNU C的__attribute__常用属性(一百五十)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…

Symbol.for()

示例&#xff1a;Symbol() 和 Symbol.for(‘ ’)的区别 Symbol.for("foo"); // 创建一个 symbol 并放入 symbol 注册表中&#xff0c;键为 "foo" Symbol.for("foo"); // 从 symbol 注册表中读取键为"foo"的 symbolSymbol.for("b…

ISE软件基本使用

ISE软件基本使用 基本设置 关联notepad的操作&#xff1a;选择notepad的exe文件路径&#xff0c;并且加 { } 符号&#xff0c;并在结尾加$1。ISE可以设置程序运行的速度等级&#xff0c;该速度等级会影响程序从外部SPI Flash启动的启动速度。JTAG 接口的作用是将编译好的程 序…

Docker中安装Nginx

查看可以安装的Nginx版本: docker search nginx 下载最新版本: docker pull nginx :latest 可以省略 运行容器: docker run -itd --name my_nginx -p 80:80 nginx 在主机通过 https://localhost:80或者 http://192.168.40.100:80可以访问 如果之前创…

java feign的使用详细步骤及okhttp的使用

1、首先创建一个feign的模块并配置依赖&#xff0c;如图&#xff1a; 1、引入依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> <dependency&g…

基于java的汽车服务管理系统(Car Service Management System)

设计一款基于java的管理和跟踪对车辆所做服务的系统。我们的系统允许服务技术人员跟踪客户、他们的车辆以及对这些车辆所做的服务。 需要项目的朋友私信我&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; Car Service Management System 基本的使用…

Python 字符串的使用

字符串使用 1. 字符串的定义方式 双引号或者单引号括起来的数据&#xff0c;就是字符串。使用三引号括起来也是字符串&#xff0c;并支持换行。 例&#xff1a; # 使用反斜线 对单引号进行转义 name1 i\ Tom name2 "Rose" name3 Tom name4 ""&qu…