【发布时间】:2018-04-07 14:59:52
【问题描述】:
为什么改变 numpy 数组元素的 dtype 会改变数组的形状?我是 numpy 的新手,我试图将 dtype 从现有的 np.int32 更改为 np.float16。这样做会改变数组的形状,但更改为 np.float32 不会修改形状。
>>> import numpy as np
>>> arr1=np.array([1,2,3,4]
>>> arr1
array([1, 2, 3, 4])
>>> arr1.shape
(4,)
>>> arr1.dtype=np.float16
>>> arr1
array([ 5.96046448e-08, 0.00000000e+00, 1.19209290e-07,
0.00000000e+00, 1.78813934e-07, 0.00000000e+00,
2.38418579e-07, 0.00000000e+00], dtype=float16)
>>> arr1.shape
(8,)
【问题讨论】: