Python數組運算包NumPy使用:核心數據對象——ndarray

Python數組運算包NumPy使用:核心數據對象——ndarray

NumPy介紹

NumPy是Python開源的科學計算工具包,提供多維數組運算,矩陣運算,為Python其他科學計算庫提供底層支持(pandas是基於numpy開發出來的更高級的數據分析包)

NumPy庫能夠對全量數組進行復雜運算,不需要寫Python遍歷循環實現計算,本身使用C語言實現,所以其內存使用更少、計算性能更強,性能好於Pyhton

NumPy多應用:生產隨機數、線性分佈、傅里葉變換等樣本數據!

Python數組運算包NumPy使用:核心數據對象——ndarray

NumPy 與 Python性能比較


Python數組運算包NumPy使用:核心數據對象——ndarray

輸出:

  • NumPy用時: 25.9 ms
  • Python用時: 1.04 s

ndarray,多維數組對象

NumPy核心數據結構是多維數組

,即ndarray,所有數組操作都離不開ndarray

ndarray對象屬性介紹:

  • .ndim 輸出數組維度的個數(軸數)
  • .shape 數組的維度
  • .size 數組元素總數
  • .dtype 數組中元素的類型
  • .itemsize 數組中每個元素的字節大小
Python數組運算包NumPy使用:核心數據對象——ndarray

數組的維數稱為秩,一維數組的秩為1,二維數組的秩為2

創建ndarray對象

0x01 np.array,創建多維數組

使用np.array方法創建數組,輸入參數可以是任意序列(列表、元組、數組、生成器以及numpy數組等)

Python數組運算包NumPy使用:核心數據對象——ndarray

0x02 np.arange,創建一維數組

使用np.arange()方法構建N維組數

Python數組運算包NumPy使用:核心數據對象——ndarray

一般使用np.arange()方法,先創建一個一維值序列,再使用reshape方法變換高維數組形狀

Python數組運算包NumPy使用:核心數據對象——ndarray

0x03 np.linspace,創建一維數組

使用linspace(start, stop, num=50,endpoint=True,retsep=False, dtype=None),返回在間隔【開始,結束】上計算的num個均勻間隔的數值樣本

  • start:起始值,stop:結束值
  • num,生產樣本數
  • endpoint,為True,包含,為False,不包含
  • retstep,為True,返回樣本步長,即樣本間隔長度,默認為False
Python數組運算包NumPy使用:核心數據對象——ndarray

0x04 np.zeros,生成全零數組

使用np.zeros方法生成全零數組,若創建高維數組,需要傳入元組參數

Python數組運算包NumPy使用:核心數據對象——ndarray

0x05 np.zeros_like

np.zeros_like方法,根據所給定的ndarray對象生成對應的全零數組

Python數組運算包NumPy使用:核心數據對象——ndarray

0x06 np.ones,生成全一數組

使用np.ones方法,生成全一數組,若創建高維數組,需要傳入元組參數

Python數組運算包NumPy使用:核心數據對象——ndarray

0x07 np.ones_like

np.ones_like方法,根據所給定的ndarray對象生成對應的全一數組

Python數組運算包NumPy使用:核心數據對象——ndarray

創建多維數組其他方法

  • np.empty 生成沒有初始值的數組,若創建高維數組,需要傳入元組參數
  • np.empty_like 根據所給定的ndarray對象生成沒有初始值的數組
  • np.full 創建一個由常數填充的數組,第一個參數是數組,第二個參數是數組中填充的常數
  • np.full_like 同上
  • np.eye、np.identity生成NxN單位矩陣(左對角線是1,其他元素是0)

數組數據類型

ndarray對象中每個元素可以是以下任意數據類型:

Python數組運算包NumPy使用:核心數據對象——ndarray

說明:

  1. 可以在創建數組的時候,指定數據類型
  2. 可改變已有數組的數據類型,通過astype()方法,生成新的數組

示例代碼:

Python數組運算包NumPy使用:核心數據對象——ndarray

最後

如果內容有誤,歡迎評論區指正!

喜歡我的朋友們,麻煩點一波關注,謝謝!

Python數組運算包NumPy使用:核心數據對象——ndarray


分享到:


相關文章: