import numpy as np arr1=np.array([1,2,3],dtype=np.float64) arr2=np.array([1,2,3],dtype=np.int32) arr1.dtype Out[4]: dtype(‘float64‘) arr2.dtype Out[5]: dtype(‘int32‘)
arr=np.array([1,2,3,4,5]) arr.dtype Out[7]: dtype(‘int32‘) float_arr=arr.astype(np.float64) float_arr.dtype Out[9]: dtype(‘float64‘)
在本例中整数被转换为浮点数。如果将浮点数转换为整数,小数部分会被截断:
arr=np.array([3.7,-1.2,-2.6,0.5,12.9,10.1]) arr Out[11]: array([ 3.7, -1.2, -2.6, 0.5, 12.9, 10.1]) arr.astype(np.int32) Out[12]: array([ 3, -1, -2, 0, 12, 10])
如果字符串数组表示的全是数字,也可以用astype将其转换为数值形式:
numeric_strings=np.array([‘1.25‘,‘-9.6‘,‘42‘],dtype=np.string_) numeric_strings.astype(float) Out[14]: array([ 1.25, -9.6 , 42. ])
int_array=np.arange(10) calibers=np.array([.22,.270,.357,.380,.44,.50],dtype=np.float64) int_array.astype(calibers.dtype) Out[17]: array([0., 1., 2., 3., 4., 5., 6., 7., 8., 9.])
也可以用简洁的类型代码来表示dtype:
empty_uint32=np.empty(8,dtype=‘u4‘) empty_uint32 Out[21]: array([ 43712628, 0, 68801840, 0, 1, 537528933, 112050304, 0], dtype=uint32)
原文:https://www.cnblogs.com/dataAnalysis/p/9299395.html