欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

python 中 dtype、type 和 asype 的区别

最编程 2024-03-16 17:36:10
...

(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)) #<class 'list'>
print(l1.dtype) #会报错

在这里插入图片描述


ar1 = np.array(l1)
print(type(a1)) #<class 'list'>
print(ar1.dtype) #会报错

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

ar1 = np.array(l1)
t1 = torch.from_numpy(ar1)
print(type(a1))   #<class 'numpy.ndarray'>
print(ar1.dtype)  #int32
#注意print(ar1.type())会报错

print(t1.type())   #torch.IntTensor
print(type(t1))    #<class 'torch.Tensor'>
print(t1.dtype)    #torch.int32

在这里插入图片描述

#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)

在这里插入图片描述