Numpy数据类型转换,本章介绍了浮点数据转换,整型数据转换和浮点数据转换为整型数据的方法,numpy
中的数据类型转换,不能直接改原数据的dtype,只能用函数astype()。
浮点数据转换
生成一个浮点数组
输出结果:
改变dtype为 float32
,数组长度翻倍!
输出结果:
改变dtype为 float16
,数组长度再次翻倍!
输出结果:
改变dtype= float
,默认类型就是float64
,数组长度也变回最初的4
输出结果:
整型数据转换
把a变为整数 int64
,生成长度为4的整型数组
输出结果:
改变dtype为 int32
,数组长度翻倍!
输出结果:
改变dtype为 int16
,数组长度再次翻倍!
输出结果:
改变dtype为 int8
,数组长度再次翻倍!
输出结果:
改变dtype为 int
,整数类型默认为int32
!
输出结果:
浮点数转整数
很多时候我们用numpy
从文本文件读取数据作为numpy的数组,默认的dtype是float64
。
但是有些场合我们希望数据类型为整数。如果直接改dtype=‘int‘的话,就会出错!原因如上,数组长度翻倍了!!!
下面的场景假设我们得到了导入的数据。我们的本意是希望它们是整数,但实际上是却是浮点数(float64)
输出结果:float64
用 astype(int) 得到整数,并且不改变数组长度
输出结果:
如果直接改变b的dtype的话,b的长度翻倍了,这不是我们想要的(当然如果你想的话)
输出结果:
numpy
中的数据类型转换,不能直接改原数据的dtype,只能用函数astype()
。