NumPy 數據類型
- 上一頁 NumPy 數組裁切
- 下一頁 NumPy 副本/視圖
Python 中的數據類型
默認情況下,Python 擁有以下數據類型:
strings
- 用于表示文本數據,文本用引號引起來。例如 "ABCD"。integer
- 用于表示整數。例如 -1, -2, -3。float
- 用于表示實數。例如 1.2, 42.42。boolean
- 用于表示 True 或 False。complex
- 用于表示復平面中的數字。例如 1.0 + 2.0j,1.5 + 2.5j。
NumPy 中的數據類型
NumPy 有一些額外的數據類型,并通過一個字符引用數據類型,例如 i
代表整數,u
代表無符號整數等。
以下是 NumPy 中所有數據類型的列表以及用于表示它們的字符。
i
- 整數b
- 布爾u
- 無符號整數f
- 浮點c
- 復合浮點數m
- timedeltaM
- datetimeO
- 對象S
- 字符串U
- unicode 字符串V
- 固定的其他類型的內存塊 ( void )
檢查數組的數據類型
NumPy 數組對象有一個名為 dtype
的屬性,該屬性返回數組的數據類型:
實例
獲取數組對象的數據類型:
import numpy as np arr = np.array([1, 2, 3, 4]) print(arr.dtype)
實例
獲取包含字符串的數組的數據類型:
import numpy as np arr = np.array(['apple', 'banana', 'cherry']) print(arr.dtype)
用已定義的數據類型創建數組
我們使用 array()
函數來創建數組,該函數可以使用可選參數:dtype
,它允許我們定義數組元素的預期數據類型:
實例
用數據類型字符串創建數組:
import numpy as np arr = np.array([1, 2, 3, 4], dtype='S') print(arr) print(arr.dtype)
對于 i
、u
、f
、S
和 U
,我們也可以定義大小。
實例
創建數據類型為 4 字節整數的數組:
import numpy as np arr = np.array([1, 2, 3, 4], dtype='i4') print(arr) print(arr.dtype)
假如值無法轉換會怎樣?
如果給出了不能強制轉換元素的類型,則 NumPy 將引發 ValueError。
ValueError:在 Python 中,如果傳遞給函數的參數的類型是非預期或錯誤的,則會引發 ValueError。
實例
無法將非整數字符串(比如 'a')轉換為整數(將引發錯誤):
import numpy as np arr = np.array(['a', '2', '3'], dtype='i')
轉換已有數組的數據類型
更改現有數組的數據類型的最佳方法,是使用 astype()
方法復制該數組。
astype()
函數創建數組的副本,并允許您將數據類型指定為參數。
數據類型可以使用字符串指定,例如 'f'
表示浮點數,'i'
表示整數等。或者您也可以直接使用數據類型,例如 float
表示浮點數,int
表示整數。
實例
通過使用 'i'
作為參數值,將數據類型從浮點數更改為整數:
import numpy as np arr = np.array([1.1, 2.1, 3.1]) newarr = arr.astype('i') print(newarr) print(newarr.dtype)
實例
通過使用 int
作為參數值,將數據類型從浮點數更改為整數:
import numpy as np arr = np.array([1.1, 2.1, 3.1]) newarr = arr.astype(int) print(newarr) print(newarr.dtype)
實例
將數據類型從整數更改為布爾值:
import numpy as np arr = np.array([1, 0, 3]) newarr = arr.astype(bool) print(newarr) print(newarr.dtype)
- 上一頁 NumPy 數組裁切
- 下一頁 NumPy 副本/視圖