python中type(),dtype(),astype()的区别

python中type(),dtype(),astype()的区别

type():

返回的是数据结构的类型(list, dict,numpy.ndarry)

>>> k = [1, 2]
>>> type(k)
<class 'list'>
>>> import numpy as np
>>> p = np.array(k)
>>> type(p)
<class 'numpy.ndarray'>

dtype():

返回的是数据元素的类型(int, float)

>>> k = [1, 2]
>>> k.btype
Traceback (most recent call last):
  File "", line 1, in <module>
AttributeError: 'list' object has no attribute 'btype

由于 list、dict 等可以包含不同的数据类型,因此不可调用dtype()函数

>>> import numpy as np
>>> p = np.array(k)
>>> p.dtype
dtype('int32')

np.array 中要求所有元素属于同一数据类型,因此可调用dtype()函数

astype():

改变np.array中所有数据元素的数据类型。

>>> import numpy as np
>>> p = np.array(k)
>>> p
array([1, 2])
>>> p.astype(float)
array([1., 2.])

你可能感兴趣的:(numpy)