0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

能够0.052秒打开100GB数据的一个高性能Python库

人工智能与大数据技术 来源:开源最前线 作者:开源最前线 2021-05-20 11:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

当今的数据集越来越大,台式机的内存甚至都装不下,更不用说你的笔记本电脑了,尽管如此,在大数据时代,我们总是避免不了要使用大数据集,于是Vaex诞生了。

什么是Vaex?

Vaex是一个高性能Python库,可以可视化和探索大型表格数据集,它可以在 N 维网格上计算每秒超过十亿(10^9)个对象 / 行的统计信息,例如均值、总和、计数、标准差等, 磁盘上大小超过100GB的数据,用Vaex只需要0.052秒就可以打开。

使用直方图、密度图和三维体绘制完成可视化,从而可以交互式探索大数据。Vaex 使用内存映射、零内存复制策略获得最佳性能(不浪费内存)。

Vaex具有以下功能特性:

基于Python数据科学站(例如Panda、Scikit-Learn、arrow、xgboost、lightgbm),标准API易于采用。为Jupyter环境量身定制。

电脑运算,结合了内存映射,复杂的表达系统和快速核外算法。有效地可视化和探索大型数据集,并在一台机器上构建机器学习模型。

基准测试,每秒可视化10亿个样本。与标准实现相比,PCA转换速度提高了10倍,可在2分钟内处理10亿个样本。完全超出核心。

高效

Vaex不仅仅是Panda的替代品。尽管在执行诸如的表达式时,它具有类似于panda的API用于列访问np.sqrt(ds.x**2 + ds.y**2),但不会进行任何计算。而是创建一个vaex表达式对象,并在打印输出时显示一些预览值。

058df76e-b48d-11eb-bf61-12bb97331649.png

使用表达式系统,vaex仅在需要时执行计算。同样,数据也不必是本地的:表达式可以通过发送的方式,统计信息可以远程计算,这是vaex-server程序包提供的。

虚拟列

我们还可以将表达式添加到DataFrame中,从而生成虚拟列。虚拟列的行为类似于常规列,但不占用任何内存。Vaex在实列和虚列之间没有区别,

059f9dca-b48d-11eb-bf61-12bb97331649.png

如果表达式在运行时真的很复杂怎么办?通过使用Pythran或Numba,我们可以使用手动实时(JIT)编译来优化计算。

05d81e48-b48d-11eb-bf61-12bb97331649.png

远程数据帧甚至支持JIT版本的表达式,担心RAM不够?你还可以选择以RAM为代价挤出额外的性能。

05e23234-b48d-11eb-bf61-12bb97331649.png

可视化

进行有意义的绘图和可视化是了解数据的最佳方法。。但是,当你的DataFrame包含10亿行时,制作标准散点图不仅会花费很长时间,而且会导致毫无意义且难以理解的可视化。

让我们看看这些想法的一些实际例子。我们可以使用直方图可视化单个列的内容。

05ede08e-b48d-11eb-bf61-12bb97331649.png

可以将其扩展为两个维度,从而生成热图。我们可以像典型的热图那样简单地计算落入每个样本中,而不是计算平均值,取总和的对数或几乎任何自定义统计量。

我们甚至可以使用ipyvolume进行3维体积渲染。

原文标题:0.052秒打开100GB数据!这个Python开源库牛X了

文章出处:【微信公众号:人工智能与大数据技术】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • python
    +关注

    关注

    57

    文章

    4858

    浏览量

    89599
  • 大数据
    +关注

    关注

    64

    文章

    9030

    浏览量

    143080

原文标题:0.052秒打开100GB数据!这个Python开源库牛X了

文章出处:【微信号:TheBigData1024,微信公众号:人工智能与大数据技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    文了解Mojo编程语言

    Mojo 是种由 Modular AI 公司开发的编程语言,旨在将 Python 的易用性与 C 语言的高性能相结合,特别适合人工智能(AI)、高性能计算(HPC)和系统级编程场景。
    发表于 11-07 05:59

    华纳云为游戏数据库选择高性能NVMe SSD存储

    游戏数据库对速度、可靠性和可扩展性有极高要求。随着在线游戏的发展,开发者越来越依赖NVMe SSD存储来提供服务器租用和服务器托管解决方案。本文将指导您了解为游戏数据库选择高性能NVMe SSD存储
    的头像 发表于 09-30 16:03 829次阅读

    RT-Thread Studio v2.2.9打开时无法选择工作空间怎么解决?

    重新打开,依旧进入了软件安装目录下的工作空间。 我在网络上寻求这个问题的解决办法,但是与当前版本的可配置选项完全不致,如果致则配置不生效,如修改文件内容的配置项。 需求总结 需要能够
    发表于 09-29 07:46

    数据库性能优化指南

    作为名在大厂摸爬滚打多年的运维老兵,我见过太多因为数据库性能问题导致的生产事故。今天分享套完整的数据库优化方法论,从SQL层面到硬件配置
    的头像 发表于 08-18 11:21 525次阅读

    快手上线鸿蒙应用高性能解决方案:数据反序列化性能提升90%

    了其数据反序列化性能,在典型场景下能够降低约90%的数据转换耗时,为鸿蒙应用带来了更流畅的用户体验和更敏捷的交互响应。 在鸿蒙应用开发过程中,“class-transformer”三方
    发表于 05-15 10:01

    搭载天玑9400+旗舰AI芯片的真我GT7性能超能

          游戏神机真我GT7 登场: 真我 GT7 搭载天玑 9400+ 旗舰芯, 性能超能 适配多款主流游戏的原生 144 帧模式,游戏超能 100W 光速
    的头像 发表于 05-12 18:28 1193次阅读

    移动工作站是什么?为什么工程师说它能省40%成本?

    你见过在沙漠里处理100GB地形数据的工程师吗?或者在飞机上实时渲染4K视频的设计师?普通笔记本遇到这些场景,要么卡成“砖头”,要么扛不住沙尘、高温直接“罢工”。而移动工作站,就像给专业人士配了“超能
    的头像 发表于 04-07 15:11 1988次阅读
    移动工作站是什么?为什么工程师说它能省40%成本?

    Python Connector for InterBase连接解决方案

    ,以对存储的数据执行创建、读取、更新和删除操作。该解决方案完全符合 Python DB API 2.0 规范,并作为 Windows、macOS 和 Linux 的 wheel 包分发。 特征 高性能
    的头像 发表于 01-22 14:34 716次阅读

    适用于MySQL和MariaDB的Python连接器:可靠的MySQL数据连接器和数据库

    和 Linux 的 wheel 包分发。 直接连接 该解决方案使您能够通过 TCP/IP 建立与 MySQL 或者 MariaDB 数据库服务器的直接连接,而无需数据库客户端。另外
    的头像 发表于 01-17 12:18 847次阅读
    适用于MySQL和MariaDB的<b class='flag-5'>Python</b>连接器:可靠的MySQL<b class='flag-5'>数据</b>连接器和<b class='flag-5'>数据库</b>

    适用于Oracle的Python连接器:可访问托管以及非托管的数据库

    适用于 Oracle 的 Python 连接器 适用于 Oracle 的 Python 连接器是种可靠的连接解决方案,用于从 Python 应用程序访问 Oracle
    的头像 发表于 01-14 10:30 746次阅读

    基于 400Gbps 100G-PAM4 OSFP 和 QSFP112 的线缆和光模块之IB网络连接

    ‌NVIDIA LinkX‌是指英伟达提供的系列网络连接解决方案,主要用于高性能计算(HPC)和数据中心环境。LinkX涵盖了多种产品,包括连接交换机、网卡等设备的线缆和光模块,支持从100
    的头像 发表于 01-13 17:45 1684次阅读
    基于 400Gbps <b class='flag-5'>100</b>G-PAM4 OSFP 和 QSFP112 的线缆和光模块之IB网络连接

    鸿蒙原生页面高性能解决方案上线OpenHarmony社区 助力打造高性能原生应用

    随着HarmonyOS NEXT的正式推出,鸿蒙原生应用开发热度高涨,数量激增。但在三方应用鸿蒙化进程中,性能问题频出。为此,HarmonyOS NEXT推出了整套原生页面高性能解决方案,包括
    发表于 01-02 18:00

    数据库事件触发的设置和应用

    数据库无论对于生产管理还是很多的实际应用都非常重要。小编这次聊数据库事件触发的应用。示例使用了postgresql和Python
    的头像 发表于 12-13 15:14 1020次阅读

    5150AM1只要一打开0x03 (bit3)YUV output,再去IIC read write都会有机率NO ACK,是什么原因?

    在write reg(0x00) = 0x0, reg(0x03) = 0x69,只要一打开0x03 (bit3)YUV output,可以看到里面,但再去IIC read write都会有机率NO ACK,请问这是什么原因,怎样解决
    发表于 12-11 07:37

    pga900用GPIO输出测试,一打开中断程序就飞了,为什么?

    一打开中断(现在也只允许PADC和TADC)程序就飞了, 提示 HardFault exception. Exception occured at PC = 0x0, LR
    发表于 12-11 06:37