一、numpy數據類型
numpy是一個基於python的科學計算庫,這個庫提供了很多數據類型,比如bool、int、float、complex等類型。numpy里有83種數據類型,可以滿足大多數數據類型的需求。
二、numpy數組數據類型轉換
numpy提供了astype函數,可以用於數組的數據類型轉換。astype()函數的語法如下:
arr.astype(dtype)
其中arr為要轉換的數組,dtype為目標數據類型。astype()函數會返回一個新數組,原數組不會被修改。astype()函數可以接受很多種數據類型,可以是numpy數組數據類型,也可以是python原生數據類型(比如int、float等)。
三、numpy數據類型代碼
numpy里的每個數據類型都對應一個字符串代碼,這些代碼是用來指定數組類型的。下面是一些常見的numpy數據類型與其代碼:
- int8:i1
- int16:i2
- int32:i4
- int64:i8
- uint8:u1
- uint16:u2
- uint32:u4
- uint64:u8
- float16:f2
- float32:f4
- float64:f8
- complex64:c8
- complex128:c16
- bool:?
四、numpy數據類型轉換
有時候,我們需要將一個數組從一個數據類型轉換成另一個數據類型。比如,我們可能需要將整型數組轉換成浮點型數組,或者將布爾型數組轉換成整型數組等。numpy提供了astype()函數用於數組數據類型轉換。
下面是一個例子,將一個整型數組轉換成浮點型數組:
import numpy as np arr_int = np.array([1, 2, 3, 4, 5]) arr_float = arr_int.astype(np.float64) print("arr_int的數據類型:", arr_int.dtype) print("arr_float的數據類型:", arr_float.dtype)
執行上面的代碼會得到如下輸出:
arr_int的數據類型: int32 arr_float的數據類型: float64
五、numpy主要數據類型
numpy的主要數據類型有以下幾種:
- int
- float
- complex
- bool
- object
- string_
- unicode_
這些數據類型在numpy里都有相應的字符串代碼表示。例如,int對應的字符串代碼是i。
六、numpy常用的數據類型
在日常工作中,我們經常使用的一些numpy數據類型有:
- int32:32位整型
- float64:64位浮點型
- bool:布爾型
- object:Python對象
- string_:字符串型
- datetime64:時間日期型
七、numpy修改數據類型
除了astype()函數外,numpy還提供了其他函數用於修改數組數據類型。例如,numpy中的view()函數可以創建一個新的數組,該數組與原數組共享數據緩衝區,但擁有不同的數據類型。下面是一個例子:
import numpy as np arr_f = np.array([1.1, 2.2, 3.3, 4.4]) arr_i = arr_f.view(dtype=np.int32) print("arr_f的數據類型:", arr_f.dtype) print("arr_i的數據類型:", arr_i.dtype) print("arr_f:", arr_f) print("arr_i:", arr_i)
執行上面的代碼會得到如下輸出:
arr_f的數據類型: float64 arr_i的數據類型: int32 arr_f: [1.1 2.2 3.3 4.4] arr_i: [ 0 1071225240 1075838976 1077936128]
從上面的輸出可以看出,view()函數創建了一個新的數組arr_i,它與原數組arr_f共享數據緩衝區,但數據類型不同。
八、numpy查看數據類型
我們可以使用dtype屬性來查看一個numpy數組的數據類型。例如:
import numpy as np arr = np.array([1, 2, 3, 4, 5]) print(arr.dtype)
執行上面的代碼會得到如下輸出:
int32
九、numpy默認數據類型
當我們創建一個numpy數組時,如果沒有顯式地指定數據類型,numpy會根據數據的類型自動選擇默認的類型。例如,如果我們創建一個包含整數和浮點數的數組,numpy會選擇浮點數類型作為默認類型。
import numpy as np arr = np.array([1, 2.0, 3, 4.0, 5]) print(arr.dtype)
執行上面的代碼會得到如下輸出:
float64
十、numpy的數據類型有哪些
numpy里有很多數據類型,這裡列出一些比較常用的數據類型與其代碼:
- int8:i1
- int16:i2
- int32:i4
- int64:i8
- uint8:u1
- uint16:u2
- uint32:u4
- uint64:u8
- float16:f2
- float32:f4
- float64:f8
- complex64:c8
- complex128:c16
- bool:?
- object:O
- string_:S
- unicode_:U
numpy提供了很多函數可以用來進行數據類型的轉換和修改。如果你需要對數組的數據類型進行操作,numpy有很多可以使用的函數。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/243763.html