【科研利器】Python处理大数据,推荐4款加速神器
以下文章来源于机器学习算法与Python实战 ,作者爱学习的胡同学
在数据科学计算、机器学习、以及深度学习领域,Python 是最受欢迎的语言。Python 在数据科学领域,有非常丰富的包可以选择,numpy、scipy、pandas、scikit-learn、matplotlib。
但这些库都仅仅受限于单机运算,当数据量很大时,比如50GB甚至500GB的数据集,这些库的处理能力都显得捉襟见肘,打开都很困难了,更别说分析了。本文向大家介绍几个好用的加速工具,可以很好地补齐现有 PyData 技术栈的短板。有了这些工具,即便是处理亿级数据你也可以应对自如。
Mars
Mars 是numpy 、 pandas 、scikit-learn的并行和分布式加速器,由阿里云高级软件工程师秦续业等人开发的一个基于张量的大规模数据计算的统一框架,目前它已在 GitHub 上开源。该工具能用于多个工作站,而且即使在单块 CPU 的情况下,它的矩阵运算速度也比 NumPy(MKL)快。
项目地址:https://github.com/mars-project/mars 官方文档:https://docs.mars-project.io
Dask
Dask是一个并行计算库,能在集群中进行分布式计算,能以一种更方便简洁的方式处理大数据量,与Spark这些大数据处理框架相比较,Dask更轻。Dask更侧重与其他框架,如:Numpy,Pandas,Scikit-learning相结合,从而使其能更加方便进行分布式并行计算。
项目地址:https://github.com/dask/dask 官方文档:https://docs.dask.org/en/latest/
CuPy
CuPy 是一个借助 CUDA GPU 库在英伟达 GPU 上实现 Numpy 数组的库。基于 Numpy 数组的实现,GPU 自身具有的多个 CUDA 核心可以促成更好的并行加速。CuPy 接口是 Numpy 的一个镜像,并且在大多情况下,它可以直接替换 Numpy 使用。只要用兼容的 CuPy 代码替换 Numpy 代码,用户就可以实现 GPU 加速。
项目地址:https://github.com/cupy/cupy 官方文档:https://docs-cupy.chainer.org/en/stable/
Vaex
Vaex是一个开源的 DataFrame 库,对于和你硬盘空间一样大小的表格数据集,它可以有效进行可视化、探索、分析乃至实践机器学习。Vaex采用了内存映射、高效的外核算法和延迟计算等概念来获得最佳性能(不浪费内存),一旦数据存为内存映射格式,即便它的磁盘大小超过 100GB,用 Vaex 也可以在瞬间打开它(0.052 秒)。
项目地址:https://github.com/vaexio/vaex 官方文档:https://vaex.readthedocs.io/en/latest/
相关文章
- vue django mysql_Python MySQL
- python爬取数据的关键技术
- 《python数据分析与数据化运营》笔记2021.9.16
- Python处理Excel数据的方法[通俗易懂]
- 【说站】python列表数据如何增加和删除
- PYTHON 连接钉钉传输工作数据监控
- Python if用法_无内嵌的if语句
- Python将数据写入txt文件_python将内容写入txt文件
- 玩转Python中字符串以及数据类型转换
- python使用opencv如何保存图片_OpenCV Python 保存图片
- 通过Python爬虫获取【小说网站GUI】数据,保姆级教学
- python_day02-作业详解编程语言
- 使用 ZeroMQ 消息库在 C 和 Python 间共享数据
- 使用Python连接MySQL数据库,实现高效数据交互(python连接mysql)