数据类型,即dytpe,是一个特殊的对象,它包含了ndarray需要为某一种类型数据所申明的内存块信息(也称为元数据,即表示数据的数据):
import numpy as np
arr1 = np.array([1,2,3],dtype = np.float64)
arr2 = np.array([1,2,3],dtype = np.int32)
arr1.dtype
dtype('float64')
arr2.dtype
dtype('int32')
dtype是Numpy能够与其他系统数据灵活交互的原因。
你可以使用astype方法显式地转换数组的数据类型:
arr = np.array([1,2,3,4,5])
arr.dtype
dtype('int32')
float_arr = arr.astype(np.float64)
float_arr.dtype
dtype('float64')
在上面例子中,整数被换成了浮点数。如果我把浮点数转换成整数,则小数点后的部分将被消除:
arr = np.array([3.7,-1.2,-2,6,0.5,12.9,10.1])
arr
array([ 3.7, -1.2, -2. , 6. , 0.5, 12.9, 10.1])
arr.astype(np.int32)
array([ 3, -1, -2, 6, 0, 12, 10])
如果你有一个数组,里面的元素都是表达数字含义