NumPy是一款數(shù)字Python開發(fā)工具,包含強大的N維數(shù)組對象、復(fù)雜的(廣播)功能,集成C/C++和Fortran代碼的工具,有用的線性代數(shù),傅立葉變換和隨機數(shù)功能。
功能介紹
強大的N維數(shù)組
NumPy矢量化,索引和廣播概念快速且通用,是當(dāng)今陣列計算的實際標(biāo)準。數(shù)值計算工具
NumPy提供了全面的數(shù)學(xué)功能,隨機數(shù)生成器,線性代數(shù)例程,傅立葉變換等。可互操作的
NumPy支持廣泛的硬件和計算平臺,并且可以與分布式,GPU和稀疏陣列庫一起很好地使用。表演者
NumPy的核心是經(jīng)過優(yōu)化的C代碼。借助編譯后的代碼,享受Python的靈活性。使用方便
NumPy的高級語法使其可以為來自任何背景或經(jīng)驗水平的程序員訪問并提高生產(chǎn)力。開源的
NumPy是在開放的BSD許可下發(fā)行的,由一個活躍,響應(yīng)迅速且多樣化的社區(qū)在GitHub上公開開發(fā)和維護。
NumPy位于豐富的數(shù)據(jù)科學(xué)圖書館生態(tài)系統(tǒng)的核心。
典型的探索性數(shù)據(jù)科學(xué)工作流程可能如下所示:
提取,轉(zhuǎn)換,加載: Pandas, Intake, PyJanitor
探索性分析: Jupyter, Seaborn, Matplotlib, Altair
建模和評估: scikit-learn, statsmodels, PyMC3, spaCy
儀表板中的報告: Dash, Panel, Voila
對于高數(shù)據(jù)量,Dask和 Ray是按比例縮放的。
穩(wěn)定的部署依賴于數(shù)據(jù)版本控制(DVC),實驗跟 蹤(MLFlow)和工作流自動化(Airflow和 Prefect)。
軟件特色
分布式陣列和高級并行分析功能,可實現(xiàn)大規(guī)模性能。
兼容NumPy的數(shù)組庫,用于使用Python進行GPU加速計算。
NumPy程序的可組合轉(zhuǎn)換:區(qū)分,矢量化,即時編譯到GPU / TPU。
帶標(biāo)簽的索引多維數(shù)組,用于高級分析和可視化
兼容NumPy的稀疏數(shù)組庫,該庫與Dask和SciPy的稀疏線性代數(shù)集成。
深度學(xué)習(xí)框架可加快從研究原型到生產(chǎn)部署的過程。
機器學(xué)習(xí)的端到端平臺,可輕松構(gòu)建和部署基于ML的應(yīng)用程序。
深度學(xué)習(xí)框架適用于靈活的研究原型和生產(chǎn)。
用于列式內(nèi)存數(shù)據(jù)和分析的跨語言開發(fā)平臺。
具有廣播和惰性計算的多維數(shù)組,用于數(shù)值分析。
開發(fā)用于數(shù)組計算的庫,重新創(chuàng)建NumPy的基本概念。
使API與實現(xiàn)脫鉤的Python后端系統(tǒng);unumpy提供了一個NumPy API。
Tensor學(xué)習(xí),代數(shù)和后端可無縫使用NumPy,MXNet,PyTorch,TensorFlow或CuPy
軟件優(yōu)勢
由諸如XGBoost, LightGBM和 CatBoost之類的工具實現(xiàn)的ML算法包括稱為集成方法的統(tǒng)計技術(shù)
Yellowbrick和 Eli5 提供機器學(xué)習(xí)可視化。
NumPy是迅速發(fā)展的Python可視化領(lǐng)域的重要組成部分
其中包括 Matplotlib, Seaborn, Plotly, Altair, Bokeh, Holoviz,Vispy和 Napari等。
NumPy對大型數(shù)組的加速處理使研究人員可以可視化遠超過本機Python可以處理的數(shù)據(jù)集。