Python秒開100G資料是怎麼辦到的?

2021-10-08 05:27:57 字數 2978 閱讀 3189

在這個資料**的時代,我們通常要對海量的資料進行分析,少則幾十g,多則上百g,對於這樣的資料我們開啟都很困難,又該如何分析呢?通常都會採取下面幾個方案:

本文讓我們來了解乙個低成本又速度快的方法,使用乙個強大的python庫-vaex來實現海量資料的讀取和操作。

vaex是乙個開源的dataframe庫,它可以對**資料集進行視覺化、探索、分析,甚至機器學習,這些資料集和你的硬碟驅動器一樣大。它可以在乙個n維網格上每秒計算超過10億(10^9)個物件的平均值、和、計數、標準差等統計資訊。視覺化使用直方圖、使用直方圖、密度圖和3d立體渲染進行視覺化。為此,vaex採用了記憶體對映、高效的外核算法和延遲計算等概念來獲得最佳效能(不浪費記憶體)。所有這些都封裝在乙個類似pandas的api中。

vaex的安裝方式和其他的庫沒有什麼不同,我們直接pip安裝即可,安裝的時候會一併安裝很多關聯的庫,所以推薦使用國內的映象進行安裝。

在使用之前我們先來看一下官方給出的讀取100g資料時的效率。

根據上圖可以看到開啟了乙個107g的資料用了52毫秒,下面讓我們用乙個小一些的樣本來檢驗一下。

把csv資料轉換成hdf5

在vaex中提供了把csv資料轉換成hdf5(記憶體可對映檔案格式)資料的方式,記憶體可對映格式後,即使在磁碟上的大小超過100gb,也可以使用vaex即時開啟。

df = vaex.

open

('data_action_201602.csv'

)df.export_hdf5(

'data_action_201602.hdf5'

)

先來看一下我要使用的資料大小:

!ls -l -h data_action_201602.hdf5
-rw-r--r--  1 seven  staff   778m  7 16 14:31 data_action_201602.hdf5
使用vaex從上面的資訊可以看到,資料的大小有778m,我們如果用pandas開啟該資料的話估計也需要很久的時間,下面讓我們來嘗試一下使用vaex。

博主電腦配置:2018macpro+六核intel core i7+16g ram。

%

%time

df = vaex.

open

('data_action_201602.hdf5'

)

cpu times: user 5.06 ms, sys: 1.54 ms, total: 6.6 ms

wall time: 15.7 ms

可以看到,我們耗時15.7毫秒,在一瞬間就完成了開啟檔案的操作,下面再進行乙個快速檢查資料的操作:

根據結果可以看出,閱覽資料的時候僅僅用了4微秒,這有多快我就不必多說了吧~

再讓我們使用describe方法獲得 dataframe 的高階概覽來看一下。

可以看到1000萬條的資料的計算時間還不到1秒,的確是快到飛起。

光從簡單的資料操作上還不足以讓我們想要使用vaex,下面來簡單介紹幾種之前讓我們頭疼的想法,看一下vaex是怎麼實現的。

在使用pandas的時候,我們很難直接對兩列中所有的資料進行運算操作,但是vaex重新封裝了這些操作,使得這種運算是完全可行的:

df[

'new_data']=

(df.

type

+ df.cate)

*100

df.new_data.values

array([ 900, 1400,  900, ..., 1400, 1400, 1400])
篩選資料:

df.select(df.new_data<

1000

)df.evaluate(df.new_data, selection=

true

)

array([900, 900, 600, ..., 800, 800, 500])
統計學計算:

df.count(

), df.mean(df.new_data)

, df.mean(df.new_data, selection=

true

)

(array(11485424), array(1027.95480602), array(701.08164584))
除了這些,vaex還提供了很多簡單的函式功能,同時該資料也可以直接用於圖表的繪製,具體可以參考文末給出的操作文件。

看完了vaex的一些簡單操作,下面再來看一下為什麼要選擇vaex:

vaex 官方**:

文件:https:

100g光模組廠家排名 100G光模組介紹

隨著光通訊行業的快速發展,使用者需求的增大,早期低速率的光模組已經慢慢不能滿使用者的傳輸需求。在這樣的情況之下,100g光模組市場成為了市場的焦點。100g光模組在這幾年來憑藉高速率和高性價而成為市場的霸主。這是一款怎樣的光模組?100g qsfp28sr4光模組怎麼樣?好不好?一 100g光模組的...

100g光模組廠家排名 100G光模組是什麼

5g時代的到來將為光通訊產業帶來新的發展機遇。光纖 光模組 光接入網路系統等整個產業都會因5g建設而受益。而在光模組中,100g光模組則是其中的高頻詞。甚至在5g主題投資息息相關的細分行業裡,100g光模組成為乙個新的標誌性主題 100g光模組具體是什麼?1.首選要解釋的是,這裡100g的 g 是指...

100G及超100G資料中心光模組的技術選擇

如今,越來越多的資料中心運營商部署資料中心基礎設施管理 dcim 軟體,這不僅幫助他們有效監控關鍵的基礎設施,鞏固其資料中心的市場地位,同時也有助於優化資料中心服務。但企業廣泛採用dcim任重道遠。一些企業正在使用一種新的資料中心管理軟體,超越了dcim管理基礎設施的能力,可以獲得更高的效率,敏捷性...