《利用Python》进行数据分析:Numpy基础3 数组的数据类型

#coding=utf-8
__author__ = 'andy'

import numpy as np

arr1=np.array([1,2,3],dtype=np.float64)
arr2=np.array([1,2,3],dtype=np.int32)

print(arr1.dtype,arr2.dtype)

#通过数组的astype方法显式地转换其dtype
arr3 =np.array([1,2,3,4,5])
print(arr3.dtype)
float_arr3=arr3.astype(np.float64)
print(float_arr3.dtype)

#如果将float64浮点数转换为整数,则小数部分将被截断
arr4=np.array([3.7,-1.2,-2.6,0.5,12.9,10.1])
print(arr4.dtype)
float_arr4=arr4.astype(np.int32)
print(float_arr4)

#如果字符串表示全是数字,也可以用astype转换为数值形式
num_strings=np.array(['3.7','-1.2','-2.6','0.5','12.9','10.1'])
print(num_strings.dtype)
format_strings=num_strings.astype(float)
print(format_strings.dtype,format_strings)


#dtype的另外一种用法
int_array=np.arange(10)
calibers=np.array([.22,.270,.357,.380,.44,.50],dtype=np.float64)
float_int_array=int_array.astype(calibers.dtype)
print(float_int_array.dtype,float_int_array)
#还可以用简洁的类型代码表示dtype(借用empty创建没有具体值的数组)
empty_uint32=np.empty(8,dtype="u4")
print(empty_uint32.dtype,empty_uint32)
posted @ 2019-02-27 17:49  小小顽童  阅读(269)  评论(0编辑  收藏  举报