NumPy 1.20.0 版本發佈,上線新函數!

↑↑↑點擊上方藍字,回覆資料,10個G的驚喜

編輯:陳萍、杜偉 轉自:機器之心
NumPy 1.20.0 版本上線,最新亮點包括 NumPy 函數註釋、爲數組提供滑動窗口視圖等。
作爲 Python 語言的一個擴展程序庫,NumPy 支持大量的維度數組與矩陣運算,也針對數組運算提供大量的數學函數庫。自初代版本上線之後,NumPy 已經成爲 Python 科學計算的擴展包。如今,在計算多維數組和大型數組方面,它是使用最廣的。此外,它還提供多個函數,操作起數組來效率很高,還可用來實現高級數學運算。


近日,NumPy 迎來了更新。NumPy 官方表示,NumPy v1.20 是迄今爲止規模最大的版本更新 ,共計 184 位開發者貢獻了約 684 條 PR,新增了類型註釋、滑動窗口視圖等功能。


新版本支持 Python 3.7-3.9,但不支持 Python 3.6。主要亮點如下:

  • NumPy 函數註釋;

  • 擴大 SIMD 使用範圍,提升 ufuncs(Universal Functions)的執行速度;

  • 更改數據類型和強制轉換實現的準備工作,以便爲擴展數據類型提供更簡單的途徑;

  • 文檔改進,包括大約 185 個 PR 合併;

  • 關於移除 Python 2.7 的進一步清理(cleanups), 這樣可以提高代碼的可讀性並消除技術負擔;

  • 對即將到來的 Cython 3.0 提供初步支持。


上線新函數

新發布的 NumPy 1.20.0 版本包括以下三大新函數:

(1)random.Generator 類有一個新函數 permuted。新函數與 shuffle 和 permutation 不同,給定軸索引的子數組會被換算。例如,現在可以對一個二維數組的行或列進行換算;

(2)sliding_window_view 爲 numpy 數組提供了一個滑動窗口視圖。numpy.lib.stride_tricks.sliding_window_view 在 numpy 數組上構造視圖,提供對數組的滑動或移動窗口訪問。這使得 running means 等某些算法可以簡單實現。

>>> x = np.arange(6)
*>>>* ** x.shape
(6,)
*>>>* ** v = sliding_window_view(x, 3)
*>>>* ** v.shape
(43)
*>>>* ** v
array([[012],      
       [123],      
       [234],       
       [345]])

(3)一個面向用戶(user-facing)的全新函數 numpy.broadcast_shapes。該函數可以從給定形狀元組中通過 broadcasting 獲得形狀,其中 broadcasting 機制的功能是爲了方便不同 shape 的 array 進行數學運算。

*>>>* np.broadcast_shapes((12), (31))
(32)
*>>>* np.broadcast_shapes(2, (31))
(32)
*>>>* np.broadcast_shapes((67), (561), (7,), (517))
(567)

棄用的功能

像 np.int 這類內置類型(builtin type)的別名已被棄用。在很長一段時間,np.int 是 int 的別名,但常常對新手造成困擾,這主要是歷史原因造成的。

下表顯示了已棄用別名的完整列表,其中第三列爲備用 NumPy 名稱。


此外,將 shape=None 傳遞給帶有非可選參數 shape 的函數已被棄用,mode 和 searchside 的非精確匹配、numpy.dual 模塊也都被棄用。
更多更新內容請參考:https://numpy.org/doc/1.20/release/1.20.0-notes.html#deprecations
 
    
    
    
也可以加一下老胡的微信
圍觀朋友圈~~~


推薦閱讀

(點擊標題可跳轉閱讀)

麻省理工學院計算機課程【中文版】

幹掉 LaTeX !用BookDown寫本書

【清華大學王東老師】現代機器學習技術導論.pdf

斯坦福新書《決策算法》,694頁PDF免費下載

幹掉 Navicat! 一款數據分析師必備的數據庫可視化工具

老鐵,三連支持一下,好嗎?↓↓↓


本文分享自微信公衆號 - 機器學習算法與Python實戰(tjxj666)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章