pythonnumpy数据类型转换
python numpy 数据类型转换
numpy数据类型转换需要调⽤⽅法astype(),不能直接修改dtype。调⽤astype返回数据类型修改后的数据,但是源数据的类型不会变,需要进⼀步对源数据的赋值操作才能改变。例如
>>> a=np.array([1.1, 1.2])
>>> a.dtype
dtype('float64')
python货币转换>>> a.astype(np.int16)
array([1, 1], dtype=int16)
>>> a.dtype
dtype('float64') #a的数据类型并没有变
>>> a=a.astype(np.int16) #赋值操作后a的数据类型变化
>>> a.dtype
dtype('int16')
>>> a
array([1, 1], dtype=int16)
直接修改dtype数据会强制⽤新数据类型表⽰,并没有转换,因此输出错误数据
>>> a=np.array([1.1, 1.2])
>>> a.dtype
dtype('float64')
>>> a.dtype=np.int16
>>> a.dtype
dtype('int16')
>>> a
array([-26214, -26215, -26215, 16369, 13107, 13107, 13107, 16371], dtype=int16)
#原来float64相当于4个int16的位宽,这样强制转换后会将他们直接拆开成4个数,
#因此原来的两个float64成了8个int16
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论