失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python 为什么要用astype()函数对numpy数据类型进行转换 而不直接指定其dtype?floa

python 为什么要用astype()函数对numpy数据类型进行转换 而不直接指定其dtype?floa

时间:2021-09-21 08:09:07

相关推荐

python 为什么要用astype()函数对numpy数据类型进行转换 而不直接指定其dtype?floa

numpy中的数据类型转换,不能直接改原数据的dtype! 只能用函数astype()。否则你的元素个数可能会倍增或倍减,数值也会对应不上!

第一种情况:

import numpy as npa = np.array([0.88518868, 0.4527473 ,0.61944059 ,0.1480421 ])print(a)print(a.dtype)print('\n'+'-'*50+'\n')a.dtype = 'float32'print(a)print(a.dtype)

结果:

[0.88518868 0.4527473 0.61944059 0.1480421 ]float64--------------------------------------------------[ 1.76177241e-06 1.84629714e+00 -6.12526950e+09 1.72637355e+007.94156442e-28 1.77986014e+00 1.0706e-16 1.52304208e+00]float32

第二种情况:

import numpy as npa = np.array([14555555554.88518868, 0.45274735555 ,0.61944059444 ,0.14804215564 ])print(a)print(a.dtype)print('\n'+'-'*50+'\n')b= a.astype(np.float32)print(b)print(b.dtype)print('\n'+'-'*50+'\n')c= a.astype(np.float16)print(c)print(c.dtype)

结果:

[1.45555556e+10 4.52747356e-01 6.19440594e-01 1.48042156e-01]float64--------------------------------------------------[1.4555556e+10 4.5274734e-01 6.1944062e-01 1.4804216e-01]float32--------------------------------------------------[ inf 0.4526 0.6196 0.1481]float16

参考文章1:Numpy数据类型转换astype,dtype

参考文章2:python强制类型转换astype

参考文章3:numpy数据类型dtype转换

python 为什么要用astype()函数对numpy数据类型进行转换 而不直接指定其dtype?float(64) float(32) int(64) int(32)(转换为整型int)

如果觉得《python 为什么要用astype()函数对numpy数据类型进行转换 而不直接指定其dtype?floa》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。