python中dtype、type()、astype()区别
程序员文章站
2022-03-16 10:48:56
(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()....
(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)
本文地址:https://blog.csdn.net/leilei7407/article/details/107672533