python中3d数组的最大值
我想在python中找到3d数组的最大值。 我试过了 但是我犯了个错误python中3d数组的最大值,python,arrays,numpy,multidimensional-array,Python,Arrays,Numpy,Multidimensional Array,我想在python中找到3d数组的最大值。 我试过了 但是我犯了个错误 File "test.py", line 31, in <module> maxval= max(pix) ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all() 文件“test.py”,第31行,在 最大值=最大值(像素) ValueError:包含
File "test.py", line 31, in <module>
maxval= max(pix)
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
文件“test.py”,第31行,在
最大值=最大值(像素)
ValueError:包含多个元素的数组的真值不明确。使用a.any()或a.all()
我无法在这里发现我的错误,请帮助我。Max需要一个值,错误消息应该非常清楚,您希望改用
np.max函数适用于向量,而不是矩阵(或沿轴)。要使max元素成为多维数组,可以使用
flatte()
:maxval=pp.max(pix.flatte())
您使用的是内置max
函数,该函数不理解多维NumPy数组。您必须改为使用以下选项之一:
pix.max()
numpy.max(像素)
在1D NumPy阵列的情况下,它们的速度也比内置的快。根据georgesl所写的,您可以使用
flat
获取数组的迭代器,然后执行某些操作
像
编辑:删除了
lambda
,默认的max
应该是正常的。这是不正确的numpy.max
是理解多维数组的别名。但是,OP没有使用numpy.max
。
File "test.py", line 31, in <module>
maxval= max(pix)
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
maxval = numpy.amax(pix)
m = reduce(max, ar.flat)