[英]What can be modin used for?
我一直在研究並行化選項,發現ray
和modin
。 經過一些測試,我對使用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 中,當您進行任何類型的計算時,您一次只能使用一個內核。 使用 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.