NumPy迎規(guī)模最大版本更新,支持Python 3.7+

點(diǎn)擊上方藍(lán)字關(guān)注我們
點(diǎn)擊上方“印象python”,選擇“星標(biāo)”公眾號(hào)
重磅干貨,第一時(shí)間送達(dá)!
作為 Python 語言的一個(gè)擴(kuò)展程序庫,NumPy 支持大量的維度數(shù)組與矩陣運(yùn)算,也針對(duì)數(shù)組運(yùn)算提供大量的數(shù)學(xué)函數(shù)庫。自初代版本上線之后,NumPy 已經(jīng)成為 Python 科學(xué)計(jì)算的擴(kuò)展包。如今,在計(jì)算多維數(shù)組和大型數(shù)組方面,它是使用最廣的。此外,它還提供多個(gè)函數(shù),操作起數(shù)組來效率很高,還可用來實(shí)現(xiàn)高級(jí)數(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ù)類型提供更簡(jiǎn)單的途徑;
文檔改進(jìn),包括大約 185 個(gè) PR 合并;
關(guān)于移除 Python 2.7 的進(jìn)一步清理(cleanups), 這樣可以提高代碼的可讀性并消除技術(shù)負(fù)擔(dān);
對(duì)即將到來的 Cython 3.0 提供初步支持。
上線新函數(shù)
新發(fā)布的 NumPy 1.20.0 版本包括以下三大新函數(shù):
(1)random.Generator 類有一個(gè)新函數(shù) permuted。新函數(shù)與 shuffle 和 permutation 不同,給定軸索引的子數(shù)組會(huì)被換算。例如,現(xiàn)在可以對(duì)一個(gè)二維數(shù)組的行或列進(jìn)行換算;
(2)sliding_window_view 為 numpy 數(shù)組提供了一個(gè)滑動(dòng)窗口視圖。numpy.lib.stride_tricks.sliding_window_view 在 numpy 數(shù)組上構(gòu)造視圖,提供對(duì)數(shù)組的滑動(dòng)或移動(dòng)窗口訪問。這使得 running means 等某些算法可以簡(jiǎn)單實(shí)現(xiàn)。
>>> x = np.arange(6)
*>>>* ** x.shape
(6,)
*>>>* ** v = sliding_window_view(x, 3)
*>>>* ** v.shape
(4, 3)
*>>>* ** v
array([[0, 1, 2],
[1, 2, 3],
[2, 3, 4],
[3, 4, 5]])
(3)一個(gè)面向用戶(user-facing)的全新函數(shù) numpy.broadcast_shapes。該函數(shù)可以從給定形狀元組中通過 broadcasting 獲得形狀,其中 broadcasting 機(jī)制的功能是為了方便不同 shape 的 array 進(jìn)行數(shù)學(xué)運(yùn)算。
*>>>* np.broadcast_shapes((1, 2), (3, 1))
(3, 2)
*>>>* np.broadcast_shapes(2, (3, 1))
(3, 2)
*>>>* np.broadcast_shapes((6, 7), (5, 6, 1), (7,), (5, 1, 7))
(5, 6, 7)
棄用的功能
像 np.int 這類內(nèi)置類型(builtin type)的別名已被棄用。在很長(zhǎng)一段時(shí)間,np.int 是 int 的別名,但常常對(duì)新手造成困擾,這主要是歷史原因造成的。
下表顯示了已棄用別名的完整列表,其中第三列為備用 NumPy 名稱。

此外,將 shape=None 傳遞給帶有非可選參數(shù) shape 的函數(shù)已被棄用,mode 和 searchside 的非精確匹配、numpy.dual 模塊也都被棄用。
更多更新內(nèi)容請(qǐng)參考:https://numpy.org/doc/1.20/release/1.20.0-notes.html#deprecations
回復(fù)下方 「關(guān)鍵詞」,獲取優(yōu)質(zhì)資源
回復(fù)關(guān)鍵詞 「linux」,即可獲取 185 頁 Linux 工具快速教程手冊(cè)和154頁的Linux筆記。
回復(fù)關(guān)鍵詞 「Python進(jìn)階」,即可獲取 106 頁 Python 進(jìn)階文檔 PDF
回復(fù)關(guān)鍵詞 「Python面試題」,即可獲取最新 100道 面試題 PDF
回復(fù)關(guān)鍵詞 「python數(shù)據(jù)分析」,即可獲取47頁python數(shù)據(jù)分析與自然語言處理的 PDF
回復(fù)關(guān)鍵詞 「python爬蟲」,滿滿五份PPT爬蟲教程和70多個(gè)案例
推薦我的微信號(hào)
來圍觀我的朋友圈,我的經(jīng)驗(yàn)分享,技術(shù)更新,不定期送書,坑位有限,速速掃碼添加!
備注:開發(fā)方向_昵稱_城市,另送你10本Python電子書。
點(diǎn)個(gè)在看你最好看
