📅  最后修改于: 2023-12-03 15:17:59.068000             🧑  作者: Mango
在使用Numpy时,我们可能需要将Numpy数组中的数据类型从Numpy数据类型转换为Python整型。这是因为Python整型在某些情况下更适合使用,例如在进行某些算术运算时。
Numpy数组对象提供了astype()函数,用于将其数据类型转换为指定的数据类型。 在这种情况下,我们可以使用int数据类型将其数组数据类型转换为Python整型数据类型。
import numpy as np
# 创建一个Numpy数组对象
arr1 = np.array([1.0, 2.1, 3.6, 4.7, 5.8])
arr2 = arr1.astype(int)
# 输出转换前的数组对象和数据类型
print("转换前:", arr1)
print("转换前数据类型:", arr1.dtype)
# 输出转换后的数组对象和数据类型
print("转换后:", arr2)
print("转换后数据类型:", arr2.dtype)
运行结果:
转换前: [1. 2.1 3.6 4.7 5.8]
转换前数据类型: float64
转换后: [1 2 3 4 5]
转换后数据类型: int32
除了使用astype()函数,我们还可以使用tolist()函数将Numpy数组对象转换为Python列表对象,然后使用Python内置函数int()将列表中的元素转换为Python整型数据类型。
import numpy as np
# 创建一个Numpy数组对象
arr1 = np.array([1, 2, 3, 4, 5])
arr2 = [int(x) for x in arr1.tolist()]
# 输出转换前的数组对象和数据类型
print("转换前:", arr1)
print("转换前数据类型:", arr1.dtype)
# 输出转换后的列表对象和数据类型
print("转换后:", arr2)
print("转换后数据类型:", type(arr2[0]))
运行结果:
转换前: [1 2 3 4 5]
转换前数据类型: int32
转换后: [1, 2, 3, 4, 5]
转换后数据类型: <class 'int'>
在将Numpy数组数据类型转换为Python整型时,我们需要注意一下几点: