一、介紹
在Python的numpy庫中,np.dtype是一個非常實用的數據類型。np.dtype可以指定多種不同類型的數據,如浮點數、整數、字元串、布爾型、時間戳等。在使用NumPy時,np.dtype非常重要,因為NumPy數組的dtype屬性用於指定數組中元素的數據類型。
二、基本用法
使用NumPy創建數組時,dtype參數可以指定數組存儲元素的數據類型。如果不指定dtype,則NumPy會自動將數據轉換成默認的數據類型。
import numpy as np # 指定數據類型 a = np.array([1, 2, 3], dtype='float32') # 默認數據類型 b = np.array([1, 2, 3]) print(a.dtype) # float32 print(b.dtype) # int64
除了在創建數組時指定dtype,還可以使用astype()方法進行轉換數據類型。
import numpy as np a = np.array([1, 2, 3], dtype='float32') # 轉換為整數類型 b = a.astype('int') print(a.dtype) # float32 print(b.dtype) # int32
三、不同類型的數據
Numpy支持多種不同類型的數據。下面我們來介紹幾種常用的數據類型:
1. 浮點數
浮點數是一種帶有小數點的數字類型。在NumPy中,浮點數有三種不同類型:float16、float32、float64。如下所示:
import numpy as np a = np.array([1.0, 2.0, 3.0], dtype='float32') b = np.array([1.0, 2.0, 3.0], dtype='float64') print(a.dtype) # float32 print(b.dtype) # float64
2. 整數
整數是一種不帶小數點的數字類型。NumPy支持不同大小的整數類型,如int8、int16、int32、int64。
import numpy as np a = np.array([1, 2, 3], dtype='int8') b = np.array([1, 2, 3], dtype='int64') print(a.dtype) # int8 print(b.dtype) # int64
3. 字元串
字元串是一種用引號括起來的文本類型。NumPy中的字元串類型為numpy.string_。
import numpy as np a = np.array(['a', 'b', 'c'], dtype='S') print(a.dtype) # S1
4. 布爾型
布爾型是一種只有兩個可能取值的類型,通常為True和False。在NumPy中,布爾類型為bool_。
import numpy as np a = np.array([True, False, True], dtype='bool') print(a.dtype) # bool
5. 時間戳
時間戳是指從某個特定時間到現在的時間長度,通常以秒為單位。NumPy中的時間戳類型為datetime64。
import numpy as np a = np.array(['2021-10-01', '2021-10-02', '2021-10-03'], dtype='datetime64') print(a.dtype) # datetime64[D]
四、類型轉換
當我們把數據存儲到NumPy數組中時,我們可以通過dtype來指定數據類型。然而,在某些情況下我們可能需要將存儲在數組中的數據類型轉換為另一種類型。這時就需要使用astype()方法進行類型轉換。
import numpy as np a = np.array([1, 2, 3], dtype='float32') # 轉換為整數類型 b = a.astype('int') print(a.dtype) # float32 print(b.dtype) # int32
五、總結
np.dtype是一個非常實用的數據類型,在使用NumPy時要注意dtype屬性用於指定數組中元素的數據類型。常用的數據類型有浮點數、整數、字元串、布爾型、時間戳等。我們可以通過astype()方法進行類型轉換。在使用astype()方法時,一定要小心數據類型的變化,對數據類型的選擇進行謹慎。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/245178.html