簡體   English   中英

modin可以用來做什么?

[英]What can be modin used for?

我一直在研究並行化選項,發現raymodin 經過一些測試,我對使用modin有什么好處有點迷茫。 兩個例子:

df = pd.read_csv()用於 180 MB 文件 pandas 5.2s 與 modin.pandas 2.7s

但是df.groupby() pandas 0.59s 與 modin.pandas 5.46s

什么樣的應用程序將從使用 modin 中受益? 這里有一般規則還是必須單獨測試所有內容?

來自https://modin.readthedocs.io/en/latest/

Modin 使用 Ray 或 Dask 提供一種輕松的方式來加速您的 pandas 筆記本、腳本和庫。 與其他分布式 DataFrame 庫不同,Modin 提供與現有 pandas 代碼的無縫集成和兼容性。 即使使用 DataFrame 構造函數也是相同的。

突出的兩個主要特點是:

  • 使用具有相同 pandas API 的 CPU 的多個內核:

在 pandas 中,當您進行任何類型的計算時,您一次只能使用一個內核。 使用 Modin,您可以使用機器上的所有 CPU 內核。

  • 支持非常大的數據集

借助 Modin,由於其輕量級、穩健和可擴展的特性,您可以獲得 1MB 和 1TB+ 的快速 DataFrame

Specifically for the slow group_by part of the question, there is a github discussion that points out that regular old pandas works better than modin.pandas: https://github.com/modin-project/modin/issues/895

Modin 仍在積極開發中,來自他們的 github 存儲庫( https://github.com/modin-project/modin )的 README.md 列出了 panda ZDB974238714CA8A1434A7CE1D03 的覆蓋范圍: 在此處輸入圖像描述

根據經驗,您在列上進行的任何轉換,如聚合函數(groupby()、sum()、count())在 modin 中總是更快。

非常簡單的原因是 Modin 將使用您機器的多個內核,因此所有這些都將比 pandas 更快。

通常,如果您在任何列上使用.transform() or.apply() ,Modin 將能夠更快地做到這一點。

但是,在少數情況下 modin 會比 PANDAS 慢。 例子:

.append()

謝謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM