=============================================
用 Python 已經十幾年了。雖然也覺得應該學其他語言,但在研究、概念驗證(PoC)、簡單解析或簡單模擬上一直使用 Python。
Pandas 廣泛用於試算表處理,但看到社群上有人說最近比較少用 Pandas,我就想調查一下是否常用的函式庫在改變。
目前並沒有遇到太大問題,但若不早做因應,之後可能會麻煩,所以我一邊使用大型語言模型(LLM)一邊查資料。
現在只要問 LLM 用法很快就能拿到,所以新函式庫的上手成本也變低了。
這篇只是整理而已,沒有做速度比較。
結論是,除非資料量增加,過去使用的
等仍然足夠,不會太困擾。
不過視資料規模與用途,值得考慮新興函式庫(像 Polars 或 DuckDB)。
多數人會在數百萬到數千萬列的規模開始考慮 Polars 或 DuckDB 等方案。
以上就是結論。
近年除了 Pandas,還出現了 Polars、DuckDB 等高速資料處理函式庫。
因為與其他視覺化函式庫有相依關係,在 Python 的資料分析領域 Pandas 長期被視為標準的試算表函式庫。
在小到中等規模的資料分析中,Pandas 仍然是標準工具。
而且很多視覺化與機器學習函式庫都以 Pandas 的 DataFrame 為前提,在生態系上也仍然很強大。
另一方面,對於大規模資料或需要高速處理的情況,Polars 和 DuckDB 的使用也在增加。多數人在數百萬到數千萬列時會開始評估這些選項。
也有不少基準測試文章指出 Polars 的效能較快。
Python 的數值計算基礎仍然是 NumPy。
許多科學與工程計算函式庫都是以 NumPy 為前提。
在多數研究與資料分析場景下,僅靠 NumPy 就已足夠。
不過在追求加速或進行 GPU 計算時,越來越多人會搭配 Numba 或 JAX 等工具。
也常看到類似「讓 NumPy 的運算快多少倍」的比較文章。
傳統機器學習領域中,scikit‑learn 長期作為標準函式庫被廣泛使用。
近年因深度學習普及,像 PyTorch 這類深度學習框架的使用也增加。
對於傳統機器學習演算法,scikit‑learn 依然好用;而在深度學習或研究用途上,PyTorch 被廣泛採用。
Matplotlib 長期是 Python 的視覺化函式庫。
在基本視覺化需求上,Matplotlib 與 Seaborn 大多數情況已足夠。
若要做互動式視覺化或儀表板(dashboard),Plotly 等工具的使用也在增加。
我不常處理大量資料,若遇到效能瓶頸會直接用 C++,因此過去沒太認真考慮;但 Python 在這方面也有越來越多的因應方案。
關於 Pandas 周邊,其實若多接觸 Arrow 生態系可能能寫得更詳盡,但這次只稍微觸及。
另外,機器學習方面也還有像 LightGBM 之類依方法不同的函式庫沒特別提到。
依用途與資料規模選擇工具會比較好,但在小到中等規模的分析上,傳統的 Python 資料分析棧仍然足以應付。
也歡迎推薦你覺得好的函式庫。
原文出處:https://qiita.com/YASUHARA-Wataru/items/5a8a16a2b7e91c3536a8