📜  np 转换为 int - Python (1)

📅  最后修改于: 2023-12-03 15:17:59.068000             🧑  作者: Mango

Numpy数据类型转换为Python整型

在使用Numpy时,我们可能需要将Numpy数组中的数据类型从Numpy数据类型转换为Python整型。这是因为Python整型在某些情况下更适合使用,例如在进行某些算术运算时。

方法一:使用astype()函数

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
方法二:使用tolist()函数

除了使用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整型时,我们需要注意一下几点:

  • 转换前需要先确认Numpy数组对象的数据类型,位于属性dtype中
  • 在使用astype()函数进行数据类型转换时,需要指定转换后的数据类型。如果未指定,则会默认使用当前Numpy数组对象中的数据类型
  • 使用tolist()函数转换为Python列表后,需要在列表中的每个元素上应用int()函数才能将其转换为Python整型数据类型