在数据科学计算、机器学习、以及深度学习领域,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/

Python分析大数据,推荐四款加速器的更多相关文章

  1. Twitter数据挖掘:如何使用Python分析大数据

    我们可以创建变量来存放待拉取的微博数量(即count),以及待拉取的用户(即name).然后用这两个参数调用user_timeline()函数.下面是更新后的代码(注意,在代码的顶部应该保持认证和AP ...

  2. Twitter数据挖掘:如何使用Python分析大数据 (3)

    让我们来拉取Twitter账号@NyTimes的最近20条微博. 我们可以创建变量来存放待拉取的微博数量(即count),以及待拉取的用户(即name).然后用这两个参数调用user_timeline ...

  3. Spark大型项目实战:电商用户行为分析大数据平台

    本项目主要讲解了一套应用于互联网电商企业中,使用Java.Spark等技术开发的大数据统计分析平台,对电商网站的各种用户行为(访问行为.页面跳转行为.购物行为.广告点击行为等)进行复杂的分析.用统计分 ...

  4. Python/Numpy大数据编程经验

    Python/Numpy大数据编程经验 1.边处理边保存数据,不要处理完了一次性保存.不然程序跑了几小时甚至几天后挂了,就啥也没有了.即使部分结果不能实用,也可以分析程序流程的问题或者数据的特点.   ...

  5. 推荐四款 Bug 管理系统,最适合你的才是最好的!

    转载自:https://www.jianshu.com/p/e7d3121eaaec   在这个移动互联网的时代,每天都会涌入大量新的 App,想要留住你的用户,必须时刻保持产品创新与系统的稳定.对于 ...

  6. 【Python开发】Python 适合大数据量的处理吗?

    Python 适合大数据量的处理吗? python 能处理数据库中百万行级的数据吗? 处理大规模数据时有那些常用的python库,他们有什么优缺点?适用范围如何? 需要澄清两点之后才可以比较全面的看这 ...

  7. 菜鸟学python之大数据的初认识

    这次作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2639 1.这些分析所采用数据来源是什么? 国家数据库:中国铁路 ...

  8. 黑马基础阶段测试题:创建一个存储字符串的集合list,向list中添加以下字符串:”C++”、”Java”、” Python”、”大数据与云计算”。遍历集合,将长度小于5的字符串从集合中删除,删除成功后,打印集合中的所有元素

    package com.swift; import java.util.ArrayList; import java.util.List; import java.util.ListIterator; ...

  9. [Hadoop 周边] Hadoop和大数据:60款顶级大数据开源工具(2015-10-27)【转】

    说到处理大数据的工具,普通的开源解决方案(尤其是Apache Hadoop)堪称中流砥柱.弗雷斯特调研公司的分析师Mike Gualtieri最近预测,在接下来几年,“100%的大公司”会采用Hado ...

  10. Hadoop和大数据:60款顶级大数据开源工具

    一.Hadoop相关工具 1. Hadoop Apache的Hadoop项目已几乎与大数据划上了等号.它不断壮大起来,已成为一个完整的生态系统,众多开源工具面向高度扩展的分布式计算. 支持的操作系统: ...

随机推荐

  1. git如何使用?初始化仓库 提交代码

    首先 国内一般使用码云 注册码云 在ui界面创建仓库 一般只有一个readme 方法一: 第一步  git clone https://gitee.com/用户个性地址/HelloGitee.git ...

  2. ArmSoM-W3应用开发之安装docker

    1. 简介 RK3588从入门到精通系列专题 开发板:ArmSoM-W3 Kernel:5.10.160 OS:Debian11 本⽂介绍ArmSoM-W3在Debian11下如何安装使用docker ...

  3. 微信小程序直播接入指南

    微信小程序直播接入指南 小程序直播组件接入指引 一.简介 小程序直播,是微信提供给小程序开发者的直播组件.通过调用该组件,商家可以在小程序中实现直播功能. 按下面的使用说明接入,在你的小程序中引入直播 ...

  4. freeswitch如何解决sip信令的NAT问题

    概述 freeswitch是一款简单好用的VOIP开源软交换平台. 公网环境复杂多变,客户环境更是各种稀奇古怪的问题. fs在针对sip信令的NAT问题有针对性的参数设置. 本文讨论的范围限于fs的公 ...

  5. [USACO2007OPENS] Fliptile S

    题目描述 FJ 知道,智商高的奶牛产奶量也大,所以他为奶牛们准备了一个翻动瓦片的益智游戏. 在一个 \(M \times N\) 的方阵上(\(1 \leq M,N \leq 15\)),每个格子都有 ...

  6. web概念概述

    JavaWeb:   *使用Java语言开发基于互联网的项目 软件架构   1.C/S:Client/Server 客户端/服务器端     *在用户本地有一个客户端程序,在远端有一个服务端程序    ...

  7. javaAPI操作hbase对表格的增删改查

    package org.example; import org.apache.hadoop.hbase.NamespaceDescriptor; import org.apache.hadoop.hb ...

  8. 开源 Serverless 框架 Laf 性能优化实践

    介绍 Laf 是一个完全开源的 Serverless 框架,Laf 的 Node.js 运行时容器 (以下简称为 Runtime) 是 Laf 的函数执行环境,依托于 Express.js 框架.采用 ...

  9. 【scikit-learn基础】--『预处理』之 离散化

    数据的预处理是数据分析,或者机器学习训练前的重要步骤.通过数据预处理,可以 提高数据质量,处理数据的缺失值.异常值和重复值等问题,增加数据的准确性和可靠性 整合不同数据,数据的来源和结构可能多种多样, ...

  10. Net 高级调试之十五:经典的锁故障

    一.简介 今天是<Net 高级调试>的第十五篇文章,这个系列的文章也快结束了,但是我们深入学习的脚步还不能停止.上一篇文件我们介绍了C# 中一些锁的实现逻辑,并做到了眼见为实的演示给大家它 ...