`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)
print(arr2.dtype)
astype:转换数据类型
arr = np.array([1, 2, 3, 4, 5])
print(arr.dtype)
float_arr = arr.astype(np.float64)
print(float_arr)
print(float_arr.dtype)
浮点数转换为整数(小数部分会被截断)
arr3 = np.array([3.7, -1.2, -2.6, 0.5, 12.9, 10.1])
print(arr3)
print(arr3.astype(np.int32))
如果某字符串数组表示的全是数字,也可以用astype将其转换为数值形式:
numeric_strings = np.array(["1.25", "-9.6", "42"], dtype=np.str_)
print(numeric_strings.astype(float))
可以使用另一个数组的dtype属性
int_array = np.arange(10)
calibers = np.array([.22, .270, .357, .380, .44, .50], dtype=np.float64)
print(int_array.astype(calibers.dtype))
还可以用简洁的类型代码来表示dtype
zeros_uint32 = np.zeros(8, dtype="u4")
print(zeros_uint32)
print(zeros_uint32.dtype)`