1. 程式人生 > >Numpy —— 資料型別物件 (dtype)

Numpy —— 資料型別物件 (dtype)

屬性dtype

In [49]: arr=np.arange(5)

In [50]: arr
Out[50]: array([0, 1, 2, 3, 4])

In [51]: arr.dtype
Out[51]: dtype('int32')

函式dtype( )

作用:結構化陣列型別並加以使用

語法:numpy.dtype(object, align, copy)

引數 含義
Object 被轉換為資料型別的物件。
Align 如果為true,則向欄位新增間隔,使其類似 C 的結構體。
Copy 是否生成dtype物件的新副本,如果為flase,結果是內建資料型別物件的引用。
In [53]: np.dtype(np.int32)
Out[53]: dtype('int32')

結構化資料型別

In [54]: student = np.dtype([('name','S20'),  ('age',  'i1'),  ('marks',  'f4')]) 
In [55]: print student
[('name', 'S20'), ('age', 'i1'), ('marks', '<f4')]

將其應用於 ndarray 物件

In [56]: a = np.array([('abc',  21,  50),('xyz',  18
, 75)], dtype = student) In [57]: print a [('abc', 21, 50.) ('xyz', 18, 75.)]

檔名稱可用於訪問 name,age,marks 列的內容

In [60]: print a['name']
['abc' 'xyz']

In [61]: print a['marks']
[ 50.  75.]

In [62]: print a['age']
[21 18]

astype( )函式

作用:轉換資料型別dtype

In [66]: arr=np.arange(5)

In [67]: arr.dtype
Out
[67]: dtype('int32') In [68]: float_arr=arr.astype(np.float64) In [69]: float_arr.dtype Out[69]: dtype('float64') In [70]: float_arr Out[70]: array([ 0., 1., 2., 3., 4.])