阿川私房教材:學程式,拿 offer!

63 個專案實戰,直接上手!
無需補習,按步驟打造你的面試作品。

立即解鎖你的轉職秘笈

簡介

在本文中,我提供了主流 Python 函式庫的替代方案。

儘管主流函式庫得到了更強大的活躍社群的支持,但這些替代方案為 Python 領域增加了一些價值。

選擇您的庫取決於您的用例和個人喜好。

甘道夫


1.Taipy 而非 Streamlit

Taipy 是這個街區的新來者。就像 Streamlit 一樣,Taipy 提供了一種建立互動式 GUI 的簡單方法;

然而,Taipy 解決了 Streamlit 的大部分限制/低效率:

  • 管理同步/非同步呼叫

  • 完全筆記型電腦相容性

  • 多用戶

  • 為您的佈局、樣式等提供更多自訂功能(無需 CSS)

  • 大資料支持

  • 更好的性能

太皮


QueenB 星星

我們感謝任何幫助我們發展社區的幫助🌱


2.Polars取代Pandas

Polars 的靈感來自於 Python 的皇室成員:Pandas。就像它一樣,它是一個為處理資料而建立的 DataFrame 庫,但在處理大型資料集時它確實表現出色。

Polars 的速度比 Pandas 快 10 到 100 倍,主要原因有二:

  • Polars 內建平行處理

  • 用 Rust 寫

北極熊會取代熊貓嗎?只有時間會給出答案。

極地


3.Dask取代PySpark

Dask 可以結合平行計算來處理大於記憶體的計算。

當您希望擴展計算時,它是一個很好的工具。它是用 Python 原生編寫的,使得學習/使用變得輕而易舉(對於 Python 開發人員來說)。

它不是為超大資料(超過 2 TB)而設計的,如果您正在處理類似 SQL 的查詢,它也沒有競爭力(與 Spark)。

非常適合筆記型電腦執行。

Dask


4.LightGBM而不是XGBoost

XGBoost 和 LightGBM 都是梯度增強函式庫。

XGBoost 是 Kaggle 的最愛,但在處理大型資料集時,LightGBM 針對具有平行計算的大資料進行了最佳化。

LGBM


5.PyCaret取代Scikit-learn

與 Scikit-learn 一樣,您可以使用 PyCaret 執行機器學習任務。

PyCaret 透過更簡單的程式碼來展示其功能,這是開始 ML 學習專案的好方法。

PyCaret 簡單易學。它的一些高級功能是:

  • EDA 和資料處理

  • 建模/培訓

  • 模型可解釋性

  • 模型部署

它對各種機器學習步驟的端到端覆蓋使得 PyCaret 成為 ML 愛好者甚至是沒有時間進行更深入分析的高級資料科學家的絕佳工具!

Pycaret


6.Darts 而非 tsfresh

這兩個庫都致力於時間序列。然而,它們有不同的目的。

Darts 是時間序列的「sklearn」。它涵蓋了 DS 在處理時間序列時所需的所有不同功能:

  • 資料發現

  • 資料預處理

  • 預測

  • 模型評估/選擇

不再需要使用多個庫;這一切都可以在 Darts 中找到。

tsfresh 旨在自動化為 ML 訓練步驟準備時間序列時最具挑戰性的步驟之一:特徵提取和選擇。

tsfresh 可以從您的時間序列中提取大量特徵,並幫助您辨識相關特徵。

飛鏢


7.PyTorch 而非 TensorFlow

兩者都是參與深度學習的資料科學家和研究人員的首選庫。

幾年前,TensorFlow 是一個受歡迎的庫,但從 2020 年到 2021 年,PyTorch 已經趕上了 TensorFlow。

您如何在這兩個令人難以置信的庫之間做出選擇?

PyTorch 似乎在研究方面具有優勢,更專注於 NLP。

此外,PyTorch 更具 Python 風格,學習曲線也更容易。

如果您是深度學習遊戲的新手,我建議您嘗試一下 PyTorch;否則,兩個庫都是不相上下的。

Pytorch


8.Arcade 而非 Pygame

在 Python 2D 遊戲領域,Pygame 獲得了良好的聲譽,而 Arcade 作為一個較新但完善的庫,在以下屬性上脫穎而出:

  • 內建遊戲循環

  • 高效率的事件模型

  • 更多功能

  • 更人性化

兩個庫都有自己的優點;然而,Arcade 是更適合初學者的選擇。

Pygame 確實提供了一種教育替代方案 Pygame Zero,對於新開發人員來說是一個更好的選擇。

街機


9.spaCy取代NLTK

NLTK 是自然語言處理的主流函式庫,具有豐富的功能。

然而,隨著複雜性的增加,學習曲線也會變得更加陡峭。 SpaCy 是開始該領域的一個不錯的選擇。

SpaCy 的另一個優點是它是為了優化 NLP 應用程式而建構的,專注於更高的速度和效率。

Spacy


10.Ruff 而非 Pylint

Linters 是任何編碼之旅的重要組成部分。

Pylint 被廣泛使用,但 Ruff 提高了過程的有效性和速度。

眾所周知,它比同等的 linter 快 10-100 倍,Ruff 絕對是一個很好的庫,可以作為 Pylint 的替代品。

Ruff


我希望你喜歡這篇文章!🙂

我是一名新手作家,歡迎任何改進建議!

如果您有最喜歡的庫而不是更主流的庫,請隨時分享。

新


原文出處:https://dev.to/taipy/new-open-source-vs-old-open-source-33k7


共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。

阿川私房教材:學程式,拿 offer!

63 個專案實戰,直接上手!
無需補習,按步驟打造你的面試作品。

立即解鎖你的轉職秘笈