0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

能夠0.052秒打開100GB數(shù)據(jù)的一個高性能Python庫

人工智能與大數(shù)據(jù)技術(shù) ? 來源:開源最前線 ? 作者:開源最前線 ? 2021-05-20 11:25 ? 次閱讀

當(dāng)今的數(shù)據(jù)集越來越大,臺式機的內(nèi)存甚至都裝不下,更不用說你的筆記本電腦了,盡管如此,在大數(shù)據(jù)時代,我們總是避免不了要使用大數(shù)據(jù)集,于是Vaex誕生了。

什么是Vaex?

Vaex是一個高性能Python庫,可以可視化和探索大型表格數(shù)據(jù)集,它可以在 N 維網(wǎng)格上計算每秒超過十億(10^9)個對象 / 行的統(tǒng)計信息,例如均值、總和、計數(shù)、標(biāo)準(zhǔn)差等, 磁盤上大小超過100GB的數(shù)據(jù),用Vaex只需要0.052秒就可以打開。

使用直方圖、密度圖和三維體繪制完成可視化,從而可以交互式探索大數(shù)據(jù)。Vaex 使用內(nèi)存映射、零內(nèi)存復(fù)制策略獲得最佳性能(不浪費內(nèi)存)。

Vaex具有以下功能特性:

基于Python數(shù)據(jù)科學(xué)站(例如Panda、Scikit-Learn、arrow、xgboost、lightgbm),標(biāo)準(zhǔn)API易于采用。為Jupyter環(huán)境量身定制。

電腦運算,結(jié)合了內(nèi)存映射,復(fù)雜的表達系統(tǒng)和快速核外算法。有效地可視化和探索大型數(shù)據(jù)集,并在一臺機器上構(gòu)建機器學(xué)習(xí)模型。

基準(zhǔn)測試,每秒可視化10億個樣本。與標(biāo)準(zhǔn)實現(xiàn)相比,PCA轉(zhuǎn)換速度提高了10倍,可在2分鐘內(nèi)處理10億個樣本。完全超出核心。

高效

Vaex不僅僅是Panda的替代品。盡管在執(zhí)行諸如的表達式時,它具有類似于panda的API用于列訪問np.sqrt(ds.x**2 + ds.y**2),但不會進行任何計算。而是創(chuàng)建一個vaex表達式對象,并在打印輸出時顯示一些預(yù)覽值。

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

使用表達式系統(tǒng),vaex僅在需要時執(zhí)行計算。同樣,數(shù)據(jù)也不必是本地的:表達式可以通過發(fā)送的方式,統(tǒng)計信息可以遠程計算,這是vaex-server程序包提供的。

虛擬列

我們還可以將表達式添加到DataFrame中,從而生成虛擬列。虛擬列的行為類似于常規(guī)列,但不占用任何內(nèi)存。Vaex在實列和虛列之間沒有區(qū)別,

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

如果表達式在運行時真的很復(fù)雜怎么辦?通過使用Pythran或Numba,我們可以使用手動實時(JIT)編譯來優(yōu)化計算。

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

遠程數(shù)據(jù)幀甚至支持JIT版本的表達式,擔(dān)心RAM不夠?你還可以選擇以RAM為代價擠出額外的性能。

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

可視化

進行有意義的繪圖和可視化是了解數(shù)據(jù)的最佳方法。。但是,當(dāng)你的DataFrame包含10億行時,制作標(biāo)準(zhǔn)散點圖不僅會花費很長時間,而且會導(dǎo)致毫無意義且難以理解的可視化。

讓我們看看這些想法的一些實際例子。我們可以使用直方圖可視化單個列的內(nèi)容。

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

可以將其擴展為兩個維度,從而生成熱圖。我們可以像典型的熱圖那樣簡單地計算落入每個樣本中,而不是計算平均值,取總和的對數(shù)或幾乎任何自定義統(tǒng)計量。

我們甚至可以使用ipyvolume進行3維體積渲染。

原文標(biāo)題:0.052秒打開100GB數(shù)據(jù)!這個Python開源庫牛X了

文章出處:【微信公眾號:人工智能與大數(shù)據(jù)技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

責(zé)任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • python
    +關(guān)注

    關(guān)注

    53

    文章

    4753

    瀏覽量

    84081
  • 大數(shù)據(jù)
    +關(guān)注

    關(guān)注

    64

    文章

    8805

    瀏覽量

    136995

原文標(biāo)題:0.052秒打開100GB數(shù)據(jù)!這個Python開源庫牛X了

文章出處:【微信號:TheBigData1024,微信公眾號:人工智能與大數(shù)據(jù)技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

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

    工程文件使用Proteus仿真8.9打開正常使用用8.16打開運行就閃退 仿真
    發(fā)表于 05-17 16:54

    步解讀英偉達 Blackwell 架構(gòu)、NVlink及GB200 超級芯片

    Tensor Core GPU支持多達18NVLink連接,每個連接速度可達100 GB/,總帶寬達到1.8 TB/,是上
    發(fā)表于 05-13 17:16

    Keil5打開文件崩潰的原因?怎么解決?

    最近遇到奇怪問題,有的Keil程序用Keil5打開Keil5就崩潰了,但是先用Keil4打開,在用Keil5就正常了。不知道其他網(wǎng)友遇到過沒有?
    發(fā)表于 05-11 06:29

    python第三方有哪些

    Python) NumPy 是 Python 中最重要且最常用的科學(xué)計算。它提供了支持大型、多維數(shù)組和矩陣運算的高性能數(shù)學(xué)函數(shù)和計算
    的頭像 發(fā)表于 11-29 14:31 ?1934次閱讀

    python控制已經(jīng)打開的瀏覽器

    Python種廣泛使用的編程語言,它具有強大的功能和豐富的。其中功能就是控制已經(jīng)打開
    的頭像 發(fā)表于 11-22 14:29 ?2507次閱讀

    python如何打開gui界面

    Python打開GUI界面,可以使用多種或框架,如Tkinter、PyQt、wxPython等。下面將詳細介紹如何使用Tkinter創(chuàng)建
    的頭像 發(fā)表于 11-22 14:12 ?802次閱讀

    python的終端窗口怎么打開

    在Windows系統(tǒng)上,你可以通過以下幾種方法打開Python的終端窗口: 使用命令提示符打開終端窗口: 按下Win + R,打開“運行”對話框。 輸入“cmd”,然后點擊“確定”。
    的頭像 發(fā)表于 11-22 11:23 ?5723次閱讀

    python中如何引入math

    Python中,要使用math,首先需要先引入它。mathPython標(biāo)準(zhǔn)
    的頭像 發(fā)表于 11-22 11:03 ?3384次閱讀

    MDK5打開MD4工程提示找不到芯片如何解決?

    一個國產(chǎn)芯片,有2工程文件,MDK4和MDK5。MDK5打開后,提示沒有這個芯片的包,于是裝了pack包,正常了。 用MDK5打開MDK4工程就提示沒有芯片。于是在
    發(fā)表于 11-02 06:20

    為什么我的定時器一打開DS18B20溫度就讀取不了了 ?

    為什么我的定時器一打開,就影響了DS18B20了呢,溫度就讀取不了了
    發(fā)表于 11-01 07:02

    單芯片超過 100Gb,三星表示將挑戰(zhàn)業(yè)界最高密度 DRAM 芯片

    三星電子在此次會議上表示:“從2023年5月開始批量生產(chǎn)了12納米級dram,目前正在開發(fā)的11納米級dram將提供業(yè)界最高密度。”另外,三星正在準(zhǔn)備10納米dram的新的3d構(gòu)架,并計劃為芯片提供100gb (gigabi
    的頭像 發(fā)表于 10-23 09:54 ?838次閱讀

    TinyDB :Python編寫的輕量級數(shù)據(jù)庫

    TinyDB 是Python 編寫的輕量級數(shù)據(jù)庫,共只有1800行代碼,沒有外部依賴項。 TinyDB的目標(biāo)是降低小型
    的頭像 發(fā)表于 10-21 10:22 ?733次閱讀

    MDK5建立的工程怎么直接用MDK4打開?

    MDK5建立的工程怎么直接用MDK4打開
    發(fā)表于 10-16 06:09

    如何使用Python和PinPong控制Arduino

    Python程序員在編程Arduino時面臨的第一個挑戰(zhàn)是語言不同。Arduino IDE使用的是受C和C++啟發(fā)的語言。實際上,像Arduino這樣的平臺與Python非常搭配,特別適用于需要
    的頭像 發(fā)表于 10-13 10:59 ?759次閱讀
    如何使用<b class='flag-5'>Python</b>和PinPong<b class='flag-5'>庫</b>控制Arduino

    數(shù)據(jù)庫數(shù)據(jù)恢復(fù)-oracle數(shù)據(jù)庫報錯無法打開數(shù)據(jù)恢復(fù)案例

    oracle數(shù)據(jù)庫數(shù)據(jù)恢復(fù)環(huán)境: 臺服務(wù)器,底層由12塊硬盤組成組磁盤陣列,上層操作系統(tǒng)上運行oracle數(shù)據(jù)庫。 oracle
    的頭像 發(fā)表于 10-12 14:00 ?703次閱讀