>>> a
array([ 0.0945377 , 0.52199916, 0.62490646, 0.21260126])
>>> a.dtype
dtype(‘float64‘)
>>> a.shape
(4,)
若直接改变a的数据类型,则a的维度会改变。
>>> a.dtype = ‘float32‘
>>> a
array([ 3.65532693e+20, 1.43907535e+00, -3.31994873e-25,
1.75549972e+00, -2.75686653e+14, 1.78122652e+00,
-1.03207532e-19, 1.58760118e+00], dtype=float32)
>>> a.shape
(8,)
正确的做法是通过astype方法改变数据类型。
>>> b = np.array([1., 2., 3., 4.])
>>> b.dtype
dtype(‘float64‘)
>>> c = b.astype(np.int32)
>>> c
array([1, 2, 3, 4])
>>> c.shape
(4,)
>>> c.dtype
dtype(‘int32‘)