numpy配列の要素のdtypeを変更すると、配列の形状が変わるのはなぜですか?私はnumpyに慣れず、dtypeを既存のnp.int32からnp.float16に変更しようとしていました。これにより配列の形が変わりましたが、np.float32に変更しても形状は変更されません。dtypeを変更するとNumpy配列の形状が変化する
>>> 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,)