在 NumPy 中把浮點數陣列轉換為整數陣列

Vaibhav Vaibhav 2023年1月30日
  1. 在 NumPy 中使用 ndarray.astype() 將 2D 陣列從浮點數轉換為整數
  2. 使用 ndarray.asarray() 將二維陣列從浮點轉換為整數
在 NumPy 中把浮點數陣列轉換為整數陣列

通常,對於各種用例,我們必須將浮點值轉換為整數值。Python 陣列和 NumPy 陣列也是如此。

使用 NumPy 中的某些函式,我們可以輕鬆地將 2D 浮點 NumPy 陣列轉換為 2D 整數 NumPy 陣列。

在本文中,我們將討論兩個這樣的方法,ndarray.astype()numpy.asarray()

在 NumPy 中使用 ndarray.astype() 將 2D 陣列從浮點數轉換為整數

NumPy 陣列的型別為 ndarray。這些物件具有內建函式,而其中一個函式就是 astype()。此函式用於建立特定型別的 NumPy 陣列的副本。此方法接受五個引數,即 dtypeordercastingsubokcopydtype 是指複製陣列的資料型別。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() 函式。該函式接受四個引數,adtypeorderlike

  • a 表示必須轉換的輸入陣列。
  • dtype 表示必須將陣列轉換為的資料型別。有趣的是,dtype 是一個可選引數,其預設值是從輸入本身推斷出來的。
  • orderlike 也是其他可選引數。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
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.