python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python的dtype、type()和astype()

Python中dtype、type()和astype()的区别详解

作者:徕胖

这篇文章主要介绍了Python中dtype、type()和astype()的区别详解,type()是python内置的函数,type()返回数据结构类型(list、dict、numpy.ndarray 等),需要的朋友可以参考下

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

在这里插入图片描述

到此这篇关于Python中dtype、type()和astype()的区别详解的文章就介绍到这了,更多相关Python的dtype、type()和astype()内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文