丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能開發(fā)者 正文
發(fā)私信給skura
發(fā)送

0

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

本文作者: skura 2019-12-10 18:39
導(dǎo)語:分析大量的數(shù)據(jù),你需要了解下免費(fèi)的開源工具 Vaex

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

許多組織正試圖收集和利用盡可能多的數(shù)據(jù),以改進(jìn)其業(yè)務(wù)運(yùn)營方式、增加收入或?qū)χ車澜绠a(chǎn)生更大的影響。因此,數(shù)據(jù)科學(xué)家面對 50GB 甚至 500GB 大小的數(shù)據(jù)集的情況變得越來越普遍。

但是現(xiàn)在,這些數(shù)據(jù)集使用起來并不方便。它們可能小到可以裝進(jìn)你日常筆記本電腦的硬盤,也可能大到和 RAM 匹配。因此,它們已經(jīng)很難被打開和檢查,更不用說探索或分析了。

在處理這些數(shù)據(jù)集時(shí),通常使用 3 種策略。第一個(gè)是對數(shù)據(jù)進(jìn)行子抽樣。它的缺點(diǎn)是顯而易見的:可能會錯(cuò)過關(guān)鍵的部分,或者更糟的是,不看全部內(nèi)容可能會對數(shù)據(jù)和它表達(dá)的事實(shí)有所曲解。還有一個(gè)策略是使用分布式計(jì)算。雖然在某些情況下這是一種有效的方法,但它會帶來管理和維護(hù)集群的巨大開銷。想象一下,必須為一個(gè)不在 RAM 范圍內(nèi)的數(shù)據(jù)集(比如在 30-50GB 范圍內(nèi))設(shè)置一個(gè)集群會是什么樣子的。對我來說,這似乎難以承受?;蛘?,你可以租用一個(gè)強(qiáng)大的云實(shí)例,該實(shí)例具有處理相關(guān)數(shù)據(jù)所需的足夠內(nèi)存。例如,AWS 提供了具有兆字節(jié) RAM 的實(shí)例。在這種情況下,你仍然需要管理云數(shù)據(jù)存儲桶,在每次實(shí)例啟動時(shí)等待從存儲桶到實(shí)例的數(shù)據(jù)傳輸,處理將數(shù)據(jù)放到云上帶來的遵從性問題,并處理在遠(yuǎn)程計(jì)算機(jī)上工作帶來的所有不便。當(dāng)然,成本就更不用說了,雖然起價(jià)很低,但隨著時(shí)間的推移,成本往往會越來越高。

在本文中,我將向你展示一種新的方法:只要數(shù)據(jù)可以被存進(jìn)筆記本電腦、臺式機(jī)或服務(wù)器的硬盤上,那么這種方法可以讓使用幾乎任意大小的數(shù)據(jù)進(jìn)行數(shù)據(jù)科學(xué)研究更快、更安全、更方便。

Vaex

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

Vaex 是一個(gè)開源的數(shù)據(jù)框架庫,它可以在與硬盤大小相同的表格數(shù)據(jù)集上進(jìn)行可視化、探索、分析甚至機(jī)器學(xué)習(xí)。為此,Vaex 采用了一些概念,如內(nèi)存映射、高效的核心外算法和延后計(jì)算。所有這些都被一個(gè)和 pandas 類似的 API 類綁定起來,任何人都可以馬上開始使用它。

十億出租車分析

為了說明這個(gè)概念,讓我們在一個(gè)數(shù)據(jù)集上做一個(gè)簡單的探索性數(shù)據(jù)分析,這個(gè)數(shù)據(jù)集非常大,可以放入一個(gè)典型的筆記本電腦的 RAM 中。在這篇文章中,我們將使用紐約(NYC)出租車數(shù)據(jù)集,其中包含 2009 至 2015 年之間的超過 10 億個(gè)標(biāo)志性黃色出租車。數(shù)據(jù)可以從這個(gè)網(wǎng)站下載,并以 CSV 格式提供。完整的分析可以在這個(gè) Jupyter notebook 中單獨(dú)查看。

清理街道

第一步是將數(shù)據(jù)轉(zhuǎn)換為內(nèi)存可映射文件格式,如 Apache Arrow、Apache Parquet 或 HDF5。將 CSV 數(shù)據(jù)轉(zhuǎn)換為 HDF5 的示例可以在這里找到。一旦數(shù)據(jù)是內(nèi)存可映射格式,用 Vaex 打開它是即時(shí)的(0.052 秒?。?,盡管磁盤上的數(shù)據(jù)超過 100GB:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

使用 Vaex 打開內(nèi)存映射文件只需要 0.052 秒,即使它們超過 100 GB

為什么這么快?使用 Vaex 打開內(nèi)存映射文件時(shí),實(shí)際上沒有數(shù)據(jù)讀取。Vaex 只讀取文件元數(shù)據(jù),如磁盤上數(shù)據(jù)的位置、數(shù)據(jù)結(jié)構(gòu)(行數(shù)、列數(shù)、列名和類型)、文件描述等。那么,如果我們想檢查數(shù)據(jù)或與數(shù)據(jù)交互呢?打開一個(gè)數(shù)據(jù)集會生成一個(gè)標(biāo)準(zhǔn)數(shù)據(jù)框,檢查它的速度是否也很快:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

紐約市黃色出租車數(shù)據(jù)預(yù)覽

再一次注意,單元執(zhí)行時(shí)間非常短。這是因?yàn)轱@示 Vaex 數(shù)據(jù)幀或列只需要從磁盤讀取前 5 行和后 5 行。這就引出了另一個(gè)重要的問題:Vaex 只會在必須的時(shí)候遍歷整個(gè)數(shù)據(jù)集,它會盡可能少地傳遞數(shù)據(jù)。

無論如何,讓我們首先從極端異常值或錯(cuò)誤的數(shù)據(jù)輸入中清除這個(gè)數(shù)據(jù)集。一個(gè)好的開始方法是使用 describe 方法獲得數(shù)據(jù)的高層次概述,該方法顯示每個(gè)列的樣本數(shù)、缺少的值數(shù)和數(shù)據(jù)類型。如果列的數(shù)據(jù)類型是數(shù)字,則平均值、標(biāo)準(zhǔn)偏差以及最小值和最大值也將被顯示。所有這些統(tǒng)計(jì)數(shù)據(jù)都是通過對數(shù)據(jù)的一次傳遞來計(jì)算的。

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)使用 describe 方法獲得數(shù)據(jù)幀的高級概述。注意,數(shù)據(jù)幀包含 18 列,但在此屏幕截圖中只有前 7 列可見

描述方法很好地說明了 Vaex 的功耗和效率:所有這些統(tǒng)計(jì)數(shù)據(jù)都是在我的 MacBook Pro(15", 2018, 2.6GHz Intel Core i7, 32GB RAM)上 3 分鐘之內(nèi)計(jì)算出來的。其他的庫或方法需要分布式計(jì)算或 100GB 以上的云實(shí)例來執(zhí)行相同的計(jì)算。有了 Vaex,你所需要的只是數(shù)據(jù),你的筆記本電腦只需要幾 GB 的內(nèi)存。

從 descripe 的輸出來看,很容易注意到數(shù)據(jù)中包含了一些嚴(yán)重的異常值。首先,讓我們從檢查取貨地點(diǎn)開始。刪除異常值的最簡單方法是簡單地繪制出上下車的位置,并直觀地定義我們希望重點(diǎn)分析的紐約市的區(qū)域。由于我們使用的數(shù)據(jù)集太大了,直方圖是最有效的可視化方法。用 Vaex 創(chuàng)建和顯示直方圖和熱圖是如此的快,這樣的繪圖可以更好地互動!

df.plot_widget(df.pickup_longitude,
              df.pickup_latitude,
              shape=512,
              limits='minmax',
              f='log1p',
              colormap='plasma')

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

一旦我們以交互方式?jīng)Q定要關(guān)注紐約市的哪個(gè)區(qū)域,我們就可以簡單地創(chuàng)建一個(gè)過濾數(shù)據(jù)框:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

上面代碼塊最酷的地方是它需要的內(nèi)存可以忽略不計(jì)!它在過濾 Vaex 數(shù)據(jù)幀時(shí),不會生成數(shù)據(jù)的副本,相反,它只創(chuàng)建對原始對象的引用,并在其上應(yīng)用二進(jìn)制掩碼。掩碼選擇顯示哪些行并用于將來的計(jì)算。這為我們節(jié)省了 100GB 的 RAM。

現(xiàn)在,讓我們檢查一下乘客計(jì)數(shù)欄。在一次出租車行程中記錄的乘客人數(shù)最多為 255 人,這似乎有點(diǎn)極端。讓我們計(jì)算一下每一位乘客的出行次數(shù)。這很容易通過值計(jì)數(shù)方法實(shí)現(xiàn):

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)對 10 億行應(yīng)用「value counts」方法只需大約 20 秒!

從上圖中我們可以看出,乘客數(shù)超過 6 人的旅行可能是罕見的異常值,或者只是錯(cuò)誤的數(shù)據(jù)輸入。上面也有大量的 0 名乘客的旅行。既然現(xiàn)在我們還不知道這些旅行是否合理,那就讓我們把它們過濾掉吧。

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

讓我們做一個(gè)與前面的旅行距離相似的練習(xí)。由于這是一個(gè)連續(xù)變量,我們可以繪制行程的分布。參考最小和最大距離,我們用一個(gè)更合理的范圍繪制一個(gè)柱狀圖。

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

紐約出租車數(shù)據(jù)集的行程距離直方圖

從上面的圖表我們可以看出,旅行次數(shù)隨著距離的增加而減少。在大約 100 英里的距離上,分布會有一個(gè)很大的下降。目前,我們將使用此作為截止點(diǎn),以消除基于行程距離的極端異常值:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

出行距離列中極端離群值的存在是考察出租車出行持續(xù)時(shí)間和平均速度的動機(jī)。這些功能在數(shù)據(jù)集中不易獲得,但計(jì)算起來很簡單:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

上面的代碼塊需要的內(nèi)存為零,不需要時(shí)間執(zhí)行!這是因?yàn)榇a導(dǎo)致創(chuàng)建虛擬列。這些列僅包含數(shù)學(xué)表達(dá)式,并且僅在需要時(shí)計(jì)算,否則,虛擬列的行為與任何其他常規(guī)列一樣。請注意,其他標(biāo)準(zhǔn)庫在相同的操作中需要 10GB 的 RAM。

好吧,我們來繪制旅行時(shí)間的分布圖:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

紐約 10 億多次出租車出行持續(xù)時(shí)間的直方圖

從上面的圖中我們可以看到 95% 的出租車使用都不到 30 分鐘就能到達(dá)目的地,盡管有些旅程可以花費(fèi) 4 到 5 個(gè)小時(shí)。你能想象在紐約被困在出租車?yán)锍^ 3 個(gè)小時(shí)嗎?不管怎樣,讓我們開誠布公,考慮一下總共持續(xù)不到 3 小時(shí)的所有旅行:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)現(xiàn)在讓我們研究出租車的平均速度,同時(shí)也為數(shù)據(jù)限制選擇一個(gè)合理的范圍:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

出租車平均速度的分布

根據(jù)上圖,我們可以推斷出出租車平均速度在 1 到 60 英里每小時(shí)的范圍內(nèi),因此我們可以更新過濾后的 DataFrame:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

讓我們把注意力轉(zhuǎn)移到出租車旅行的成本上。從 describe 方法的輸出中,我們可以看到 fare_amount、total_amount 和 tip_amount 列中有一些異常值。首先,這些列中的任何值都不應(yīng)為負(fù)。與此相反,這些數(shù)字表明,一些幸運(yùn)的司機(jī)幾乎成了百萬富翁,只有一輛出租車。讓我們看看在一個(gè)相對合理的范圍內(nèi),這些量的分布:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

紐約 10 億多個(gè)出租車出行的票價(jià)、總金額和小費(fèi)的分布情況。在筆記本電腦上創(chuàng)建這些圖只用了 31 秒!

我們看到上述三種分布圖都有很長的尾巴。在尾部的某些值可能是合法的,而其他值可能是錯(cuò)誤的數(shù)據(jù)輸入。無論如何,現(xiàn)在我們還是保守一點(diǎn),只考慮票價(jià)、總票價(jià)和小費(fèi)低于 200 美元的行程。我們還要求票價(jià)金額、總金額值大于 0 美元。

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

最后,在對所有數(shù)據(jù)進(jìn)行初步清洗之后,讓我們看看我們的分析有多少出租車行程。

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)我們還有 11 億多次旅行!通過這樣大量的數(shù)據(jù),可以獲得一些關(guān)于出租車旅行的寶貴見解。

坐進(jìn)駕駛座

假設(shè)我們是一個(gè)未來的出租車司機(jī),或出租車公司的經(jīng)理,并有興趣使用這個(gè)數(shù)據(jù)集來學(xué)習(xí)如何最大限度地提高我們的利潤,降低我們的成本,或者只是改善我們的工作生活。

讓我們先找出平均來說能帶來最好收益的接送乘客的地點(diǎn)。天真地說,我們可以畫出一張接送地點(diǎn)的熱圖,用平均票價(jià)進(jìn)行編碼。然而,出租車司機(jī)自己也有成本,例如,他們得付燃料費(fèi)。因此,把乘客帶到很遠(yuǎn)的地方可能會導(dǎo)致更高的票價(jià),但這也意味著更大的油耗和時(shí)間損失。此外,要從偏遠(yuǎn)的地方找到一個(gè)乘客帶去市中心的某個(gè)地方可能不那么容易,因此在沒有乘客的情況下開車回去可能會花銷很大。一種解決方法是用車費(fèi)和旅行距離之比的平均值對熱圖進(jìn)行顏色編碼。讓我們考慮這兩種方法:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

紐約市彩色熱圖編碼:平均票價(jià)金額(左)和票價(jià)金額與行程的平均比率

在簡單的情況下,當(dāng)我們只關(guān)心為提供的服務(wù)獲得最大票價(jià)時(shí),最佳接送乘客的區(qū)域是紐約機(jī)場以及主要的大道,如 Van Wyck 高速公路和 Long Island 高速公路。當(dāng)我們把旅行的距離考慮進(jìn)去時(shí),我們得到的是一張稍微不同的圖片。 Van Wyck 高速公路、Long Island 高速公路大道以及機(jī)場仍然是接送乘客的好地方,但它們在地圖上的重要性要小得多。然而,在 Hudson 河的西側(cè)出現(xiàn)了一些新的熱點(diǎn)地區(qū),這些地區(qū)似乎可以賺到相當(dāng)?shù)睦麧櫋?br/>

開出租車是一項(xiàng)相當(dāng)靈活的工作。為了更好地利用這種靈活性,知道什么時(shí)候開車是最有益的。為了回答這個(gè)問題,我們制作一個(gè)圖表,顯示每天和一天中每小時(shí)的車費(fèi)與出行距離的平均比率:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)一周中每天和一天中每小時(shí)的車費(fèi)與出行距離的平均比率

上面的數(shù)字是有道理的:最好的收入發(fā)生在高峰時(shí)段,特別是在一周工作日的中午。作為出租車司機(jī),我們的一小部分收入是出租車公司的,所以我們可能會對哪一天的顧客給的小費(fèi)最多感興趣。因此,讓我們生成一個(gè)類似的圖,這次顯示平均小費(fèi)百分比:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

每周每天和每天小時(shí)的平均小費(fèi)百分比

上面的圖很有趣。它告訴我們,乘客喜歡在早上 7 點(diǎn)到 10 點(diǎn)之間和在本周早些時(shí)候的晚上給出租車司機(jī)小費(fèi)。如果你在凌晨 3 點(diǎn)或 4 點(diǎn)接乘客,不要指望會有太大的小費(fèi)。結(jié)合上面兩個(gè)地塊的分析,早上 8 點(diǎn)到 10 點(diǎn)是上班的好時(shí)間:每個(gè)人每英里可以獲得不錯(cuò)的車費(fèi)和滿意的小費(fèi)。

發(fā)動引擎!

在本文的前一部分中,我們簡要介紹了 trip_distance 列,在從異常值中清除它的同時(shí),我們保留了所有小于 100 英里的行程值。這仍然是一個(gè)相當(dāng)大的截止值,特別是考慮到黃色出租車公司主要在曼哈頓經(jīng)營。Trimih 距離列描述出租車在接到乘客和乘客下車位置之間行駛的距離。然而,為了避免交通堵塞或道路工程等原因,人們通??赡軙x擇不同的路線。因此,作為 trip_distance 列的對應(yīng)項(xiàng),讓我們計(jì)算上車和下車位置之間的最短可能距離,我們稱之為 arc_distance:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)對于用 numpy 編寫的復(fù)雜表達(dá)式,vaex 可以在 Numba、Pythran 甚至 CUDA(如果你有 NVIDIA GPU)的幫助下使用即時(shí)編譯來大大加快計(jì)算速度

弧長計(jì)算公式涉及面廣,包含了大量的三角函數(shù)和算法,特別是在處理大型數(shù)據(jù)集時(shí),計(jì)算量很大。如果表達(dá)式或函數(shù)只使用來自 Numpy 包的 Python 操作和方法編寫,Vaex 將使用機(jī)器的所有核心并行計(jì)算它。除此之外,VAEX 支持通過 NUBBA(使用 LLVM)或 Pythran(通過 C++加速)及時(shí)編譯,從而提供更好的性能。如果你碰巧有一個(gè) NVIDIA 圖形卡,你可以通過 jit_CUDA 方法使用 CUDA 來獲得更高的性能。

總之,讓我們畫出 trip_distance 和 arc_distance 的分布:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

左:行程距離和弧距離的比較;右:弧距<100 米的行程分布。

有趣的是,arc_distance 從來沒有超過 21 英里,但是出租車實(shí)際行駛的距離可以是 5 倍大。事實(shí)上,有數(shù)百萬的出租車旅行,下車位置在上車地點(diǎn) 100 米(0.06 英里)以內(nèi)!

多年來的黃色出租車公司

我們今天使用的數(shù)據(jù)集跨越了 7 年。我們可以看到,隨著時(shí)間的推移,一些收益的數(shù)量是如何演變的。使用 Vaex,我們可以快速執(zhí)行核心分組和聚合操作。讓我們來探討 7 年來票價(jià)和行程是如何演變的:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

對于一個(gè)超過 10 億個(gè)樣本的 Vaex 數(shù)據(jù)幀,在筆記本電腦上使用四核處理器進(jìn)行 8 個(gè)聚合的分組操作只需不到 2 分鐘

在上面的單元塊中,我們執(zhí)行一個(gè)分組操作,然后是 8 個(gè)聚合,其中 2 個(gè)在虛擬列上。上面的單元塊在我的筆記本電腦上執(zhí)行不到 2 分鐘。這相當(dāng)令人印象深刻,因?yàn)槲覀兪褂玫臄?shù)據(jù)包含超過 10 億個(gè)樣本。不管怎樣,讓我們看看結(jié)果。以下是多年來駕駛出租車的費(fèi)用演變過程:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

平均票價(jià)和總金額,以及乘客每年支付的小費(fèi)百分比

我們看到出租車價(jià)格,以及小費(fèi)隨著歲月的流逝而增加?,F(xiàn)在讓我們來看一下出租車的 trip_distance 和 arc_distance,出租車是以年為單位行駛的:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

出租車每年旅行的平均行程和弧距。

上圖顯示,出行距離和弧線距離都有小幅增加,這意味著,平均而言,人們每年的出行都會稍微遠(yuǎn)一點(diǎn)。

給我看看錢

在我們的旅程結(jié)束之前,讓我們再停一站,調(diào)查一下乘客如何支付乘車費(fèi)用。數(shù)據(jù)集包含付款類型列,因此讓我們看看它包含的值:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

從數(shù)據(jù)集文檔中,我們可以看到此列只有 6 個(gè)有效條目:

1 = credit card payment
2 = cash payment
3 = no charge
4 = dispute
5 = Unknown
6 =Voided trip

因此,我們可以簡單地將 payment_type 列中的條目映射為整數(shù):

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

現(xiàn)在,我們可以按每年的數(shù)據(jù)分組,看看紐約人在出租車租賃支付方面的習(xí)慣是如何改變的:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)每年付款方式

我們看到,隨著時(shí)間的推移,信用卡支付慢慢變得比現(xiàn)金支付更頻繁。我們真的生活在一個(gè)數(shù)字時(shí)代!注意,在上面的代碼塊中,一旦我們聚合了數(shù)據(jù),小的 Vaex 數(shù)據(jù)幀可以很容易地轉(zhuǎn)換為 Pandas 數(shù)據(jù)幀,我們可以方便地將其傳遞給 Seaborn。不是想在這里重新發(fā)明輪子。

最后,讓我們通過繪制現(xiàn)金支付與信用卡支付的比率來確定支付方式是取決于一天中的時(shí)間還是一周中的某一天。為此,我們將首先創(chuàng)建一個(gè)過濾器,它只選擇用現(xiàn)金或卡支付的乘車。下一步是我最喜歡的 Vaex 特性之一:帶有選擇的聚合。其他庫要求對以后合并為一個(gè)支付方法的每個(gè)單獨(dú)篩選的數(shù)據(jù)幀進(jìn)行聚合。另一方面,使用 Vaex,我們可以通過在聚合函數(shù)中提供選擇來一步完成此操作。這非常方便,只需要一次傳遞數(shù)據(jù),就可以獲得更好的性能。在此之后,我們只需以標(biāo)準(zhǔn)方式繪制結(jié)果數(shù)據(jù)幀:

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

在一周的某一時(shí)間和某一天,現(xiàn)金和卡支付的一部分

看上面的圖表,我們可以發(fā)現(xiàn)一個(gè)類似的模式,顯示小費(fèi)百分比和一周中的一天和一天中的時(shí)間相關(guān)的函數(shù)。從這兩個(gè)圖中,數(shù)據(jù)表明,用卡支付的乘客往往比用現(xiàn)金支付的乘客小費(fèi)更多。事實(shí)真的是這樣嗎?我想請你自己試著去弄清楚,因?yàn)楝F(xiàn)在你已經(jīng)掌握了知識、工具和數(shù)據(jù)!你也可以看看這個(gè) notebook 來獲得一些額外的提示。

到達(dá)目的地

我希望這篇文章是對 Vaex 的一個(gè)有用的介紹,它將幫助緩解你可能面臨的一些「不舒服的數(shù)據(jù)」問題,至少當(dāng)涉及到表格數(shù)據(jù)集時(shí)會對你有幫助。如果你對本文中使用的數(shù)據(jù)集感興趣,可以直接從帶 Vaex 的 S3 中使用它。查看完整的 Jupyter notebook 了解如何執(zhí)行此操作。

有了 Vaex,你只需幾秒鐘就可以通過自己的筆記本電腦瀏覽超過十億行數(shù)據(jù),計(jì)算出各種統(tǒng)計(jì)數(shù)據(jù)、聚合數(shù)據(jù),并生成信息豐富的圖表。它不僅免費(fèi)而且開源,我希望你會給它一個(gè)機(jī)會!

via:https://towardsdatascience.com/how-to-analyse-100s-of-gbs-of-data-on-your-laptop-with-python-f83363dda94 

雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知

數(shù)據(jù)量再大也不怕!筆記本電腦也可以分析 100GB 數(shù)據(jù)

分享:
相關(guān)文章
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個(gè)人簡介
為了您的賬戶安全,請驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說