當今的數(shù)據(jù)集越來越大,臺式機的內(nèi)存甚至都裝不下,更不用說你的筆記本電腦了,盡管如此,在大數(shù)據(jù)時代,我們總是避免不了要使用大數(shù)據(jù)集,于是Vaex誕生了。
什么是Vaex?
Vaex是一個高性能Python庫,可以可視化和探索大型表格數(shù)據(jù)集,它可以在 N 維網(wǎng)格上計算每秒超過十億(10^9)個對象 / 行的統(tǒng)計信息,例如均值、總和、計數(shù)、標準差等, 磁盤上大小超過100GB的數(shù)據(jù),用Vaex只需要0.052秒就可以打開。
使用直方圖、密度圖和三維體繪制完成可視化,從而可以交互式探索大數(shù)據(jù)。Vaex 使用內(nèi)存映射、零內(nèi)存復制策略獲得最佳性能(不浪費內(nèi)存)。
Vaex具有以下功能特性:
基于Python數(shù)據(jù)科學站(例如Panda、Scikit-Learn、arrow、xgboost、lightgbm),標準API易于采用。為Jupyter環(huán)境量身定制。
電腦運算,結(jié)合了內(nèi)存映射,復雜的表達系統(tǒng)和快速核外算法。有效地可視化和探索大型數(shù)據(jù)集,并在一臺機器上構(gòu)建機器學習模型。
基準測試,每秒可視化10億個樣本。與標準實現(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表達式對象,并在打印輸出時顯示一些預覽值。
使用表達式系統(tǒng),vaex僅在需要時執(zhí)行計算。同樣,數(shù)據(jù)也不必是本地的:表達式可以通過發(fā)送的方式,統(tǒng)計信息可以遠程計算,這是vaex-server程序包提供的。
虛擬列
我們還可以將表達式添加到DataFrame中,從而生成虛擬列。虛擬列的行為類似于常規(guī)列,但不占用任何內(nèi)存。Vaex在實列和虛列之間沒有區(qū)別,
如果表達式在運行時真的很復雜怎么辦?通過使用Pythran或Numba,我們可以使用手動實時(JIT)編譯來優(yōu)化計算。
遠程數(shù)據(jù)幀甚至支持JIT版本的表達式,擔心RAM不夠?你還可以選擇以RAM為代價擠出額外的性能。
可視化
進行有意義的繪圖和可視化是了解數(shù)據(jù)的最佳方法。。但是,當你的DataFrame包含10億行時,制作標準散點圖不僅會花費很長時間,而且會導致毫無意義且難以理解的可視化。
讓我們看看這些想法的一些實際例子。我們可以使用直方圖可視化單個列的內(nèi)容。
可以將其擴展為兩個維度,從而生成熱圖。我們可以像典型的熱圖那樣簡單地計算落入每個樣本中,而不是計算平均值,取總和的對數(shù)或幾乎任何自定義統(tǒng)計量。
我們甚至可以使用ipyvolume進行3維體積渲染。
原文標題:0.052秒打開100GB數(shù)據(jù)!這個Python開源庫牛X了
文章出處:【微信公眾號:人工智能與大數(shù)據(jù)技術】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
責任編輯:haq
-
python
+關注
關注
54文章
4759瀏覽量
84295 -
大數(shù)據(jù)
+關注
關注
64文章
8835瀏覽量
137140
原文標題:0.052秒打開100GB數(shù)據(jù)!這個Python開源庫牛X了
文章出處:【微信號:TheBigData1024,微信公眾號:人工智能與大數(shù)據(jù)技術】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論