Python NumPy是一個開源庫,用於在Python中的數學計算與科學計算。作為一種數據處理和分析的工具,NumPy有倆個主要的對象:數組和矩陣。然而,像Python,NumPy也支持不同的數據類型,這些類型用於對數組的元素進行編碼。這就是Python NumPy數據類型轉換:更改數據類型以滿足特定需求的重要性所在。
一、NumPy數據類型
NumPy中的數據類型是一種描述了其元素類型的對象,其中包括元素的:
- 類型(例如float或int)
- 大小(例如32位或64位)
- 位元組順序(小端或大端)
- 對齊方式(對位元組進行的填充)
Python NumPy提供了十幾種數據類型,包括複雜數、浮點數、整數、布爾值、對象等。下面是Python NumPy常用的數據類型:
import numpy as np a = np.dtype(np.int32) print(a) # 輸出 int32 b = np.dtype('i4') # 『i4』代表著int32 print(b) # 輸出 int32 c = np.dtype([('age',np.int8)]) print(c) # 輸出 [('age', 'i1')] d = np.dtype([('age','i1'),('height','f8')]) print(d) # 輸出 [('age', 'i1'), ('height', '<f8')]
二、更改數據類型
有時候,我們需要將NumPy數組中的數據類型改變為其他類型。這可能需要更改整個數組的數據類型,也可能只是更改單個數組元素的數據類型。
1.更改整個數組的數據類型
更改整個數組的數據類型可以使用astype()函數。astype()可以接受一個參數,將數組中的元素類型更改為所提供的參數。
import numpy as np a = np.array([1,2,3,4,5]) print(a.dtype) #輸出:int32 b = a.astype(np.float64) print(b.dtype) #輸出:float64
2.更改單個數組元素的數據類型
更改單個數組元素的數據類型,可以使用item()函數。item()可以將數組中一個的元素類型從1個數據類型變為另一個。此函數在哪些情況下適用呢?如果你有一個包含單個數值的NumPy數組,你可以使用item()函數來轉換數據類型。
import numpy as np a = np.array([5], dtype = np.int8) print(a.itemsize) #輸出 1 b = a.item() #轉換為int print(b.itemsize) #輸出 4
三、在讀取文件時更改數據類型
在Python NumPy中,我們還可以在從文件中讀取數據時更改數據類型。當數據文件存儲在本地文件系統中或雲存儲系統中時,此方法通常更有用。下面的代碼演示了如何在讀取文件時更改NumPy數組的數據類型:
import numpy as np #讀取文件中的數據,從浮點型變為整型 data = np.loadtxt('data.txt', dtype=np.int32)
四、將數據轉換為不同的位元組序
在Python Numpy中,我們還可以將數據轉換為不同的位元組序。這通常用於將底層數據轉換為網路位元組序或在使用不同體系結構(例如大端或小端)的計算機上更改底層數據。
下面的代碼演示了如何將一個數組對象的位元組順序轉換為小端位元組順序:
import numpy as np #創建一個NumPy數組 a = np.array([1, 256, 8755], dtype = np.int16) # 將整個數組轉換為小端位元組順序 b = a.byteswap(True) print("數組中每個元素的存儲類型為:", b.dtype) print("修改後的數組為:\n", b)
五、總結
Python NumPy數據類型轉換:更改數據類型以滿足特定需求,這是Python NumPy中的一個重要主題。本文介紹了Python NumPy的數據類型、如何更改整個數組的數據類型、如何更改單個數組元素的數據類型、以及如何在讀取文件時更改數據類型及將數據轉換為不同的位元組順序。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/239387.html