Why does changing the dtype of elements of a numpy array changes the shape of the array? I am new to numpy and I was trying to change the dtype to np.float16 from existing np.int32. Doing that changed the shape of the array, but changing to np.float32 doesn't modify the shape.
>>> 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,)