矩阵的np.power(上升到幂2)不会产生元素^ 2

时间:2018-04-26 11:25:00

标签: python numpy

我试图使用m ** 2或np.power(m ** 2)来平衡python中矩阵m的元素。结果是一些元素被平方而一些元素不是

不幸的是,我似乎无法在测试用例中复制问题且矩阵很大,但是拍摄显示第一行和最后几行部分内容的快照将有助于突出显示问题

enter image description here

似乎某些元素是分解或什么的?如果有人能为我解释这种行为,我会很感激。

2 个答案:

答案 0 :(得分:3)

矩阵中的元素是8位无符号整数(uint8)类型,这意味着它们被限制在0到255之间。所以(252**2) % 256 = 16

您可以使用以下方法更改数组类型:

m = m.astype(np.uint16)

答案 1 :(得分:0)

np.array的元素确实是平局的。

您的数组类型为uint8,这使得所有的arythmetical操作模数为256.

>>> 252 ** 2 % 256
16