在 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.