numpy 数据类型转换,python怎么强制转换类型
本文主要介绍numpy强制类型转换的问题,有很好的参考价值。希望对大家有帮助。如有错误或不足之处,请不吝赐教。
目录
numpy cast numpy type cast API numpy数据类型cast astype,dtype1。查看数据类型2。转换数据类型3。将字符串数组转换为数字类型
numpy强制类型转换
今天,我遇到了一个关于numpy类型转换的问题,
将numpy作为np导入
A=np.array([1,2,3,4,5,6,7,8,9])
A[0]=3.2
打印(一份)
# [3 2 3 4 5 6 7 8 9]
可以发现A[0]=3.2,已经被强制转换为整数3。这是因为A的类型是np.int,当浮点数被赋值时,它将自动转换为整数。
一旦出现这样的问题,很难发现。写程序的时候,提前想好要用的np类型。
补充,两个整型np.array做运算时,会根据运算自动转换类型。
A=np.array([1,2,3,4,5,6,7,8,9])
B=np.array([2,3,4,5,6,7,8,9,10])
打印(黑白)
# [0.5 0.66666667 0.75 0.8 0.83333333 0.85714286 0.875 0.88888889 0.9 ]
numpy类型强制转换api
有时候我们从文件中读取的numpy类型不是我们想要的,需要强制转换。
A=np.array([1,2,3,4,5,6,7,8,9])
A.dtype=float #不能给dtype类型,数据会出错。
a . a type( float )#正确的做法
numpy数据类型转换astype,dtype
1.查看数据类型
In [11]: arr=np.array([1,2,3,4,5])
在[12]: arr
Out[12]:数组([1,2,3,4,5])
//此命令查看数据类型
In [13]: arr.dtype
Out[13]:数据类型( int64 )
in[14]: float _ arr=arr . as type(NP . float 64)
//此命令查看数据类型
In [15]: float_arr.dtype
Out[15]:数据类型( float64 )
2.转换数据类型
//如果浮点数转换成整数,小数部分会被截断。
In [7]: arr2=np.array([1.1,2.2,3.3,4.4,5.3221])
[8]: arr2
Out[8]:数组([ 1.1,2.2,3.3,4.4,5.3221])
//查看当前数据类型
In [9]: arr2.dtype
Out[9]:数据类型( float64 )
//转换数据类型float-int
in[10]: arr 2 . as type(NP . int 32)
Out[10]:数组([1,2,3,4,5],dtype=int32)
3.字符串数组转换为数值型
in[4]: numeric _ strings=NP . array([ 1.2 , 2.3 , 3.2141],dtype=np.string_)
In [5]:数字字符串
Out[5]:数组([1.2 , 2.3 , 3.2141],dtype=S6 )
//这里写的是float而不是np.float64,Numpy很聪明,会把python类型映射到等价的dtype。
in[6]: numeric _ strings . as type(float)
Out[6]:数组([ 1.2,2.3,3.2141])
以上个人经验,希望给你一个参考,也希望你能支持盛行的IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。