在 NumPy 中把浮点数数组转换为整数数组
Vaibhav Vaibhav
2023年1月30日
2021年4月29日
通常,对于各种用例,我们必须将浮点值转换为整数值。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 数组。
Author: Vaibhav Vaibhav