NumPy新增函數(shù)注釋等功能,支持Python 3.7+
作為 Python 語言的一個(gè)擴(kuò)展程序庫,NumPy 支持大量的維度數(shù)組與矩陣運(yùn)算,也針對數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫。自初代版本上線之后,NumPy 已經(jīng)成為 Python 科學(xué)計(jì)算的擴(kuò)展包。如今,在計(jì)算多維數(shù)組和大型數(shù)組方面,它是使用最廣的。此外,它還提供多個(gè)函數(shù),操作起數(shù)組來效率很高,還可用來實(shí)現(xiàn)高級數(shù)學(xué)運(yùn)算。

近日,NumPy 迎來了更新。NumPy 官方表示,NumPy v1.20 是迄今為止規(guī)模最大的版本更新 ,共計(jì) 184 位開發(fā)者貢獻(xiàn)了約 684 條 PR,新增了類型注釋、滑動(dòng)窗口視圖等功能。

新版本支持 Python 3.7-3.9,但不支持 Python 3.6。主要亮點(diǎn)如下:
NumPy 函數(shù)注釋;
擴(kuò)大 SIMD 使用范圍,提升 ufuncs(Universal Functions)的執(zhí)行速度;
更改數(shù)據(jù)類型和強(qiáng)制轉(zhuǎn)換實(shí)現(xiàn)的準(zhǔn)備工作,以便為擴(kuò)展數(shù)據(jù)類型提供更簡單的途徑;
文檔改進(jìn),包括大約 185 個(gè) PR 合并;
關(guān)于移除 Python 2.7 的進(jìn)一步清理(cleanups), 這樣可以提高代碼的可讀性并消除技術(shù)負(fù)擔(dān);
對即將到來的 Cython 3.0 提供初步支持。
上線新函數(shù)
新發(fā)布的 NumPy 1.20.0 版本包括以下三大新函數(shù):
(1)random.Generator 類有一個(gè)新函數(shù) permuted。新函數(shù)與 shuffle 和 permutation 不同,給定軸索引的子數(shù)組會(huì)被換算。例如,現(xiàn)在可以對一個(gè)二維數(shù)組的行或列進(jìn)行換算;
(3)一個(gè)面向用戶(user-facing)的全新函數(shù) numpy.broadcast_shapes。該函數(shù)可以從給定形狀元組中通過 broadcasting 獲得形狀,其中 broadcasting 機(jī)制的功能是為了方便不同 shape 的 array 進(jìn)行數(shù)學(xué)運(yùn)算。
棄用的功能
像 np.int 這類內(nèi)置類型(builtin type)的別名已被棄用。在很長一段時(shí)間,np.int 是 int 的別名,但常常對新手造成困擾,這主要是歷史原因造成的。
下表顯示了已棄用別名的完整列表,其中第三列為備用 NumPy 名稱。

此外,將 shape=None 傳遞給帶有非可選參數(shù) shape 的函數(shù)已被棄用,mode 和 searchside 的非精確匹配、numpy.dual 模塊也都被棄用。
更多更新內(nèi)容請參考:https://numpy.org/doc/1.20/release/1.20.0-notes.html#deprecations



























