numpy 数据类型转换,python怎么强制转换类型

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: