Numpy基礎教程—數據類型

 

本教程適合於numpy基礎入門,更多詳盡內容請閱讀官網http://www.numpy.org/,此篇爲numpy基礎學習教程系列之數據類型篇,傾向於實踐用法,後續還會推出一系列numpy其它方面的教程,歡迎廣大圈友一起交流學習,並指出其中的錯誤。

 

注意:以下np爲import numpy as np中的np標識符

 

 

    numpy中,大部分數據類型名是以數字結尾的,這個數字表示其在內存中佔用的位數。

 

    注意:每一種數據類型,都有對應的轉換函數。

 

1. 數據類型對象

 

 

    數據類型對象是numpy.dtype類的實例,數據類型對象可以給出單個元素在內存中所佔用的字節數

    >>> a = np.array([1,2,3],dtype='int64')
    >>> a.dtype.itemsize
    8

 

 

    可以將兩個字符作爲參數傳給數據類型的構造函數,第一個字符表示數據類型,第二個字符表示該類型在內存中佔用的字節數(2、4、8分別代表精度爲16、32、64的浮點數)

 

    >>> np.dtype('f8')
    dtype('float64')

 

 

 

    dtype類有很多屬性

    >>> t = np.dtype("Float64")
    >>> t.char
    'd'
    >>> t.str
    '<f8'

 

    注意:str屬性可以給出數據類型的字符串表示,該字符串的首個字符表示字節序,後面如果還有字符的話,將是一個字符編碼,接着一個數字表示每個數組元素存儲所需的字節數。

    字節序是指位長爲32或64的字(word)存儲的順序,包括大端序和小端序。大端序是將最高位字節存儲在最低的內存地址處,用>表示;與之相反,小端序是將最低位字節存儲在最低的內存地址處,用<表
 

2. 自定義數據類型

 

    自定義數據類型是一種異構數據類型,可以當做用來記錄電子表格或數據庫記錄的數據結構

    >>> t =np.dtype([('name',str,40),('numitems','int32'),('price','float32')])

    >>> t

    dtype([('name', 'S40'), ('numitems', '<i4'),('price', '<f4')])

 

    查看某一字段的數據類型

 

    >>> t['name']

    dtype('S40')

 

 

    在用array創建數組時,如果沒有在參數中指定數據類型,則默認時浮點數類型。創建自定義數據類型數組時,必須指定數據類型,否則將觸發TypeError

 

    >>> items =np.array([("Meaning of lifeDVD",42,3.14),("Butter",13,2.72)],dtype=t)

    >>> items[1]

    ('Butter', 13, 2.7200000286102295)
 

 

 

 

 

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