當今的數據集越來越大,臺式機的內存甚至都裝不下,更不用說你的筆記本電腦了,盡管如此,在大數據時代,我們總是避免不了要使用大數據集,于是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表達式對象,并在打印輸出時顯示一些預覽值。
使用表達式系統,vaex僅在需要時執行計算。同樣,數據也不必是本地的:表達式可以通過發送的方式,統計信息可以遠程計算,這是vaex-server程序包提供的。
虛擬列
我們還可以將表達式添加到DataFrame中,從而生成虛擬列。虛擬列的行為類似于常規列,但不占用任何內存。Vaex在實列和虛列之間沒有區別,
如果表達式在運行時真的很復雜怎么辦?通過使用Pythran或Numba,我們可以使用手動實時(JIT)編譯來優化計算。
遠程數據幀甚至支持JIT版本的表達式,擔心RAM不夠?你還可以選擇以RAM為代價擠出額外的性能。
可視化
進行有意義的繪圖和可視化是了解數據的最佳方法。。但是,當你的DataFrame包含10億行時,制作標準散點圖不僅會花費很長時間,而且會導致毫無意義且難以理解的可視化。
讓我們看看這些想法的一些實際例子。我們可以使用直方圖可視化單個列的內容。
可以將其擴展為兩個維度,從而生成熱圖。我們可以像典型的熱圖那樣簡單地計算落入每個樣本中,而不是計算平均值,取總和的對數或幾乎任何自定義統計量。
我們甚至可以使用ipyvolume進行3維體積渲染。
原文標題:0.052秒打開100GB數據!這個Python開源庫牛X了
文章出處:【微信公眾號:人工智能與大數據技術】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
python
+關注
關注
56文章
4795瀏覽量
84663 -
大數據
+關注
關注
64文章
8885瀏覽量
137427
原文標題:0.052秒打開100GB數據!這個Python開源庫牛X了
文章出處:【微信號:TheBigData1024,微信公眾號:人工智能與大數據技術】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論