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
    +关注

    关注

    56

    文章

    4792

    浏览量

    84627
  • 大数据
    +关注

    关注

    64

    文章

    8882

    浏览量

    137397

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    数据库数据恢复—通过拼接数据库碎片恢复SQLserver数据库

    运行在存储上的SQLServer数据库,有1000多个文件,大小几十TB。数据库每10天生成
    的头像 发表于 10-31 13:21 199次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—通过拼接<b class='flag-5'>数据库</b>碎片恢复SQLserver<b class='flag-5'>数据库</b>

    Python解析:通过实现代理请求与数据抓取

    Python中,有多个可以帮助你实现代理请求和数据抓取。这些提供了丰富的功能和灵活的API,使得你可以轻松地发送HTTP请求、处理响应、解析HTML/XML/JSON
    的头像 发表于 10-24 07:54 164次阅读

    华为云 RDS for MySQL 数据库助力音数智化转型,引领社交电商新风尚

    for MySQL 数据库提供的高性能、高可用性数据库解决方案,音科技不仅实现了运营效率的显著提升,更在用户的社交分享流畅度与直播购物体验的深度优化上取得了突破,引领整个行业向更加
    的头像 发表于 10-22 20:24 697次阅读

    oracle数据恢复—Oracle数据库打开报错的数据恢复案例

    打开oracle数据库时报错,报错信息:“system01.dbf需要更多的恢复来保持致性,数据库无法打开”。急需恢复zxfg用户下的
    的头像 发表于 10-17 13:20 226次阅读
    oracle<b class='flag-5'>数据</b>恢复—Oracle<b class='flag-5'>数据库</b><b class='flag-5'>打开</b>报错的<b class='flag-5'>数据</b>恢复案例

    数据库数据恢复—Oracle数据库文件system01.dbf损坏的数据恢复案例

    打开oracle数据库报错“system01.dbf需要更多的恢复来保持致性,数据库无法打开”。
    的头像 发表于 09-21 14:25 316次阅读
    <b class='flag-5'>数据库</b><b class='flag-5'>数据</b>恢复—Oracle<b class='flag-5'>数据库</b>文件system01.dbf损坏的<b class='flag-5'>数据</b>恢复案例

    下载官网上的Pspice模型“LMH7322 PSpice Model”,用ORCAD17.2打开后,运行仿真老是出错,为什么?

    我想用LMH7322型双比较器做一个设计,下载了官网上的Pspice模型“LMH7322 PSpice Model”,打开后有几个文件,用ORCAD17.2打开后,运行仿真老是出错,请问是什么问题啊?没有对文件做任何改动
    发表于 08-23 08:14

    采用LM4991对单声道音频进行放大,功放LM4991一打开使能,喇叭就会有“噗”的声音如何消除?

    我这边采用LM4991对单声道音频进行放大。为了实现低功耗,在不播放音频时,功放LM4991设置为休眠状态。 但是在测试过程中,发现功放LM4991一打开使能,喇叭就会有“噗”的声音,请问如何消除这个声音呢? 输入无信号,使能LM4991也样有这个声音。
    发表于 08-21 07:33

    OPA227运放恒流源电路,输入10KHZ方波,在LED断开时波形很好,但LED一打开,波形失真非常大,为什么?

    输入10KHZ方波,在LED断开时波形很好,但LED一打开,波形失真非常大 测量了U5输出,波形很好;测U12输出,波形整体较好,但是上升时间变长。 结果: 1、LED开启前: 2、开启后
    发表于 08-01 06:00

    opencv-python和opencv样吗

    样。OpenCV(Open Source Computer Vision Library)是开源的计算机视觉和机器学习软件,它提供了大量的图像和视频处理功能。OpenCV-
    的头像 发表于 07-16 10:38 1160次阅读

    深度学习常用的Python

    深度学习作为人工智能的重要分支,通过模拟人类大脑中的神经网络来解决复杂问题。Python作为种流行的编程语言,凭借其简洁的语法和丰富的
    的头像 发表于 07-03 16:04 625次阅读

    工程文件Proteus仿真8.9打开正常用8.16打开不能运行

    工程文件使用Proteus仿真8.9打开正常使用用8.16打开运行就闪退 仿真
    发表于 05-17 16:54

    步解读英伟达 Blackwell 架构、NVlink及GB200 超级芯片

    Tensor Core GPU支持多达18NVLink连接,每个连接速度可达100 GB/,总带宽达到1.8 TB/,是上
    发表于 05-13 17:16

    Keil5打开文件崩溃的原因?怎么解决?

    最近遇到奇怪问题,有的Keil程序用Keil5打开Keil5就崩溃了,但是先用Keil4打开,在用Keil5就正常了。不知道其他网友遇到过没有?
    发表于 05-11 06:29

    mysql怎么新建个数据库

    mysql怎么新建个数据库 如何新建个数据库在MySQL中 创建个数据库是MySQL中的基
    的头像 发表于 12-28 10:01 885次阅读