在 NumPy 中把浮點數陣列轉換為整數陣列
Vaibhav Vaibhav
2023年1月30日
通常,對於各種用例,我們必須將浮點值轉換為整數值。Python 陣列和 NumPy 陣列也是如此。
使用 NumPy
中的某些函式,我們可以輕鬆地將 2D 浮點 NumPy 陣列轉換為 2D 整數 NumPy 陣列。
在本文中,我們將討論兩個這樣的方法,ndarray.astype()
和 numpy.asarray()
。
在 NumPy 中使用 ndarray.astype()
將 2D 陣列從浮點數轉換為整數
NumPy 陣列的型別為 ndarray
。這些物件具有內建函式,而其中一個函式就是 astype()
。此函式用於建立特定型別的 NumPy 陣列的副本。此方法接受五個引數,即 dtype
,order
,casting
,subok
和 copy
。dtype
是指複製陣列的資料型別。order
是一個可選引數,它控制結果陣列的記憶體佈局。所有其他選項都是可選的。
要了解有關此函式的其他引數的更多資訊,請參閱此函式的官方文件
請參考以下程式碼以更好地瞭解此函式。
import numpy as np
myArray = np.array(
[[1.0, 2.5, 3.234, 5.99, 99.99999], [0.3, -23.543, 32.9999, 33.0000001, -0.000001]]
)
myArray = myArray.astype(int)
print(myArray)
輸出:
[[ 1 2 3 5 99]
[ 0 -23 32 33 0]]
使用 ndarray.asarray()
將二維陣列從浮點轉換為整數
其次,我們可以使用 asarray()
函式。該函式接受四個引數,a
,dtype
,order
和 like
。
a
表示必須轉換的輸入陣列。dtype
表示必須將陣列轉換為的資料型別。有趣的是,dtype
是一個可選引數,其預設值是從輸入本身推斷出來的。order
和like
也是其他可選引數。order
是指輸出陣列的記憶體佈局。
要了解有關此函式的引數的更多資訊,請參閱此函式的官方文件。
import numpy as np
myArray = np.array([[1.923, 2.34, 23.134], [-24.000001, 0.000001, -0.000223]])
myArray = np.asarray(myArray, dtype=int)
print(myArray)
輸出:
[[ 1 2 23]
[-24 0 0]]
在上面的程式碼中,資料型別被稱為 int
,並且輸出陣列也是整數 NumPy 陣列。
作者: Vaibhav Vaibhav