【謊言大揭秘】Modin真的比pandas運行更快嗎?


最近看了某公眾號文章,推薦了所謂的神器,據說讀取速度吊打pandas,可謂牛逼。

抱着學習的精神,網上搜了文章,發現了一些端倪,事實真是這樣嗎?來一起揭秘真相。

  • 首先安裝包
# pip install ray
# pip install dask
# pip install modin
  • 安裝版本
Successfully installed aiohttp-3.6.2 async-timeout-3.0.1 google-2.0.3 multidict-4.7.6 py-spy-0.3.3 ray-0.8.5 redis-3.4.1 yarl-1.4.2
Requirement already satisfied: dask in /Applications/anaconda3/lib/python3.7/site-packages (2.11.0)
Successfully installed modin-0.7.3 pandas-1.0.3
Successfully uninstalled ray-0.8.5
Successfully installed pyarrow-0.16.0 ray-0.8.4
  • 導入包測試
import modin.pandas as pd

# ImportError: Please `pip install modin[ray]` to install compatible Ray version.
# 首次報錯
# pip install modin[ray]

  • 第二次運行

彈窗,點允許,哈哈  # 您要應用程序“redis-server”接受傳入網絡連接嗎?

modin.pandas: 76.71852612495422
import time
import modin.pandas as pd

start = time.time()
#Taxi_Trips(正式).csv 5.38G
df = pd.read_csv(r'/Users/dugh/Desktop/芝加哥市出租車行車記錄(2013年至今)/Taxi_Trips(正式).csv')
end = time.time()
print(end-start)

   pandas:  71.43032503128052

import time
import pandas as pd

start = time.time()
#Taxi_Trips(正式).csv 5.38G
df = pd.read_csv(r'/Users/dugh/Desktop/芝加哥市出租車行車記錄(2013年至今)/Taxi_Trips(正式).csv')
end = time.time()
print(end-start)
  • 第一輪(5.38G):pandas勝出 5 秒

 

  • 第二輪(680.9M):pandas 勝出 3 秒

  • 第三輪(3G):pandas勝出 11 秒

  • 修改配置

文章說:如果待操作的數據文件遠大於電腦內存RAM,可以設置,那就設置再運行一遍吧

# 如果待操作的數據文件遠大於電腦內存RAM,可以設置
import os
os.environ["MODIN_OUT_OF_CORE"]='true'
import modin.pandas as pd

驗證下是不是,我設置問題

 -----------------------------分割線--------------------------------

  • 第一輪(5.38G):pandas勝出 2 秒

  • 第二輪(680.9M):pandas 勝出 3 秒

  • 第三輪(3G):pandas勝出 12 秒

  

  •  總結:

通過不同的文件格式和文件大小,pandas均比modin快,尤其在h5大文件下,快了將近一半。

真的有那么神奇嗎?

就算后面改了配置,modin還是沒有變快,到這里已經無需過多解釋。

  • 附錄1

本人測試機配置:19年 15寸 macbook pro 內存16g 8核心 系統osx:10.14.6

  •  附錄2

 本次測試數據 

  •  附錄3

網友反饋   https://www.jiqizhixin.com/articles/2019-04-13-2

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM