问答

python关于numpy矩阵的赋值错误

作者:admin 2021-07-04 我要评论

我写了一个循环,里面有个if判断,根据判断结果给矩阵赋值 data_old[i,j] = 266 ,结果每次赋值都矩阵那个位置的值不是266,而是10,这是为什么? ### 估计你定...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

我写了一个循环,里面有个if判断,根据判断结果给矩阵赋值data_old[i,j] = 266,结果每次赋值都矩阵那个位置的值不是266,而是10,这是为什么?

###

估计你定义的数据类型的原因,如果是 uint8,则会溢出:

>>> import numpy as np
>>> a = np.array([1, 2, 3], dtype = np.uint8) 
>>> a
array([1, 2, 3], dtype=uint8)
>>> a[0]=266
>>> a
array([10,  2,  3], dtype=uint8)
>>> a.itemsize
1

uint8的取值范围是0~255, 266-256=10.
itemsize属性会返回类型字节数。

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • PHP的use 的 前提是包中的文件需要提前

    PHP的use 的 前提是包中的文件需要提前

  • 为什么分布式项目中需要分布式锁,而普

    为什么分布式项目中需要分布式锁,而普

  • mysql高效查询评论及回复内容,并且分

    mysql高效查询评论及回复内容,并且分

  • tp5 数据库查询  如何进行多对多查询

    tp5 数据库查询 如何进行多对多查询

腾讯云代理商
海外云服务器