python中dtype、type()、astype()区别

(1)type()是python内置的函数。type() 返回数据结构类型(list、dict、numpy.ndarray 等)
(2)dtype 返回数据元素的数据类型(int、float等)
(3)astype() 改变np.array中所有数据元素的数据类型。
————————————
备注:
1)由于 list、dict 等可以包含不同的数据类型,因此没有dtype属性
2)np.array 中要求所有元素属于同一数据类型,因此有dtype属性
备注:能用dtype() 才能用 astype()

l1 = [1,2,4]
ar1 = np.array(l1)
print(type(l1)) #
print(l1.dtype) #会报错

python中dtype、type()、astype()区别_第1张图片


ar1 = np.array(l1)
print(type(a1)) #
print(ar1.dtype) #会报错

在这里插入图片描述
注意下面的例子

ar1 = np.array(l1)
t1 = torch.from_numpy(ar1)
print(type(a1))   #
print(ar1.dtype)  #int32
#注意print(ar1.type())会报错

print(t1.type())   #torch.IntTensor
print(type(t1))    #
print(t1.dtype)    #torch.int32

python中dtype、type()、astype()区别_第2张图片

#a.astype(dtype) a不变
#返回Copy of the array, cast to a specified type.
ar1 = np.arange(10,dtype=float)
ar2 = ar1.astype(np.int)
print(ar1,ar1.dtype)
print(ar2,ar2.dtype)

在这里插入图片描述

你可能感兴趣的:(python)