NumPy數(shù)組(NumPy數(shù)組基本用法)

NumPy數(shù)組對象

NumPy中的多為數(shù)組稱為ndarray,它有兩部分組成

  • 數(shù)據(jù)本身
  • 描述數(shù)據(jù)的元數(shù)據(jù)

NumPy數(shù)組優(yōu)勢

  1. 查看數(shù)組的數(shù)據(jù)類型
In [2]: a = np.arange(5)

In [3]: a.dtype
Out[3]: dtype('int64')
  1. 查看數(shù)據(jù)的元素個數(shù)
In [4]: a
Out[4]: array([0, 1, 2, 3, 4])

In [5]: a.shape
Out[5]: (5,)

創(chuàng)建多維數(shù)組

  1. 創(chuàng)建多維數(shù)組
In [6]: m = np.array([np.arange(2),np.arange(2)])

In [7]: m
Out[7]: 
array([[0, 1],
       [0, 1]])
  1. 顯示該數(shù)組的形狀
In [8]: m.shape
Out[8]: (2, 2)

選擇Numpy數(shù)組元素

In [9]: a = np.array([[1,2],[3,4]])

In [10]: a
Out[10]: 
array([[1, 2],
       [3, 4]])
In [11]: a[0,0]
Out[11]: 1

In [12]: a[0,1]
Out[12]: 2

In [13]: a[1,0]
Out[13]: 3

In [14]: a[1,1]
Out[14]: 4

數(shù)組元素的下標(biāo)如下所示

[0,0] [0,1]
[1,0] [1,1]

NumPy的數(shù)值類型

類型 說明
bool 布爾值(值為True或False)
inti 長度取決于平臺的整數(shù)(通常為int)32或者int64)
int8 字節(jié)類型(取值范圍-128~127)
int16 整型(取值范圍-32768~32767)
int32 整型(取值范圍-231~231-1)
int64 整型(取值范圍-263~263-1)
uint8 無符號整型(取值范圍0~255)
uint16 無符號整型(取值范圍0~65535)
uint32 無符號整型(取值范圍0~232-1)
uint64 無符號整型(取值范圍0~264-1)
float16 半精度浮點(diǎn)型:符號占用1比特,指數(shù)占用5比特,尾數(shù)占用10比特
float32 單精度浮點(diǎn)型:符號占用1比特,指數(shù)占用8比特,尾數(shù)占用23比特
float64或float 雙精度浮點(diǎn)型:符號占用1比特,指數(shù)占用11比特,尾數(shù)占用52比特
complex64 復(fù)數(shù)整型,由兩個32位浮點(diǎn)數(shù)表示
complex128或complex 復(fù)數(shù)整型,由兩個64位浮點(diǎn)數(shù)表示
  • 每一種數(shù)據(jù)類型都有相應(yīng)的轉(zhuǎn)換函數(shù):
    In [27]: np.float64(42)
    Out[27]: 42.0
    
    In [28]: np.int8(42.0)
    Out[28]: 42
    
    In [29]: np.bool(42)
    Out[29]: True
    
    In [31]: np.bool(0)
    Out[31]: False
    
    In [32]: np.bool(42.0)
    Out[32]: True
    
    In [33]: np.float(True)
    Out[33]: 1.0
    
    In [34]: np.float(False)
    Out[34]: 0.0
    
    
  • 許多函數(shù)都帶有一個指定數(shù)據(jù)類型的可選參數(shù)
    In [36]: np.arange(7, dtype=np.uint16)
    Out[36]: array([0, 1, 2, 3, 4, 5, 6], dtype=uint16)
    
    不允許把復(fù)數(shù)類型轉(zhuǎn)化為整型,同樣的也不允許把復(fù)數(shù)轉(zhuǎn)化為浮點(diǎn)數(shù)

字符碼

  • *字符碼是為了與其前身Numeric向后兼容

    整型 字符碼
    整型 i
    無符號整型 u
    單精度浮點(diǎn)型 f
    雙精度浮點(diǎn)型 d
    布爾值 b
    復(fù)數(shù)型 D
    字符串 S
    萬國碼(Unicode) U
    空類型(void) V
  • 生成單精度浮點(diǎn)型

    In [37]: np.arange(7, dtype='f')
    Out[37]: array([ 0.,  1.,  2.,  3.,  4.,  5.,  6.], dtype=float32)
    
  • 創(chuàng)建負(fù)數(shù)類型的數(shù)組

    In [38]: np.arange(7, dtype='D')
    Out[38]: array([ 0.+0.j,  1.+0.j,  2.+0.j,  3.+0.j,  4.+0.j,  5.+0.j,  6.+0.j])
    

dtype構(gòu)造函數(shù)

  • 使用python自帶的常規(guī)浮點(diǎn)型
    In [40]: np.dtype(float)
    Out[40]: dtype('float64')
    
  • 用字符碼規(guī)定單精度浮點(diǎn)數(shù)
    In [41]: np.dtype('f')
    Out[41]: dtype('float32')
    
  • 用字符碼規(guī)定雙精度浮點(diǎn)數(shù)
    In [42]: np.dtype('d')
    Out[42]: dtype('float64')
    
  • 可以向dtype構(gòu)造函數(shù)傳遞一個雙字碼。其中,第一個字符表示數(shù)據(jù)類型,第二個字符為數(shù)字,表示占用的字節(jié)數(shù)
    In [43]: np.dtype('f8')
    Out[43]: dtype('float64')
    

可以通過sctypeDict.keys()函數(shù)列出數(shù)據(jù)類型的字符碼

In [44]: np.sctypeDict.keys()
Out[44]: dict_keys(['?', 0,... 'bytes', 'a'])


結(jié)束語

如果您對這篇文章有什么意見或者建議,請評論與我討論.
如果您覺得還不錯的話~可以點(diǎn)個喜歡鼓勵我哦.
如果您想和我一起學(xué)習(xí),請毫不吝嗇的私信我吧~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 基礎(chǔ)篇NumPy的主要對象是同種元素的多維數(shù)組。這是一個所有的元素都是一種類型、通過一個正整數(shù)元組索引的元素表格(...
    oyan99閱讀 5,151評論 0 18
  • 目錄: 5.1 pandas 的數(shù)據(jù)結(jié)構(gòu)介紹 5.1.1 Series 5.1.2 DataFrame 5.1.3...
    凌岸_ing閱讀 4,789評論 0 17
  • 先決條件 在閱讀這個教程之前,你多少需要知道點(diǎn)python。如果你想從新回憶下,請看看Python Tutoria...
    舒map閱讀 2,601評論 1 13
  • NumPy是Python中關(guān)于科學(xué)計算的一個類庫,在這里簡單介紹一下。 來源:https://docs.scipy...
    灰太狼_black閱讀 1,251評論 0 5
  • TF API數(shù)學(xué)計算tf...... :math(1)剛開始先給一個運(yùn)行實(shí)例。tf是基于圖(Graph)的計算系統(tǒng)...
    MachineLP閱讀 3,523評論 0 1