ValueError:包含多个元素的数组的真值不明确。使用.any()或.all()python

ValueError:包含多个元素的数组的真值不明确。使用.any()或.all()python,python,numpy,Python,Numpy,我被要求使用带有np.meshgrid和np.angle()的网格(100100)制作下图,我唯一的问题是,当我想要制作最终的布尔网格时,python说:ValueError:包含多个元素的数组的真值是不明确的。使用a.any()或a.all() 从PIL导入图像 将numpy作为np导入 XX=np.arange(0101) YY=np.arange(0101) x、 y=np.meshgrid(XX,YY) x=x-50 y=y-50 z=x+y*-1j 打印z a=np.角(z,度=真)

我被要求使用带有np.meshgrid和np.angle()的网格(100100)制作下图,我唯一的问题是,当我想要制作最终的布尔网格时,python说:ValueError:包含多个元素的数组的真值是不明确的。使用a.any()或a.all()

从PIL导入图像
将numpy作为np导入
XX=np.arange(0101)
YY=np.arange(0101)
x、 y=np.meshgrid(XX,YY)
x=x-50
y=y-50
z=x+y*-1j
打印z
a=np.角(z,度=真)

网格=(a>=0和a=40和a=80和a=120和a分别尝试
*
+
,用于


“和”和“或”比较整个对象的整体真实性,但您需要元素和的模拟。还有一些简单的函数
logical\u和
logical\u或
更明确。

尝试
&
*
+
,分别用于
>
“and”和“and”或“or”比较整个对象的整体真实性,但您需要元素和的模拟。还有一些更为明确的numpy函数
logical\u和
logical\u或

有几个问题:

1) 当给我们一个错误消息时,您应该指出它引用的代码行

2) 这是SO问题中最常见的错误消息之一(与Python和numpy相关)

我猜错误发生在:

grid = (a>=0 and a<20) or (a>=40 and a<60) or (a>=80 and a<100) or (a>=120 and a<140) or++ (a<=-20 and a>-40) or (a<=-60 and a>-80) or (a<=-100 and a>-120) or (a<=-140 and a>-160)
所以正确的表达是

((a>=0) & (a<20)) | ((a>=40) & (a<60)) | ((a>=80) & (a<100)) ...
((a>=0)和(a=40)和(a=80)和(a两个问题:

1) 当给我们一个错误消息时,您应该指出它引用的代码行

2) 这是SO问题中最常见的错误消息之一(与Python和numpy相关)

我猜错误发生在:

grid = (a>=0 and a<20) or (a>=40 and a<60) or (a>=80 and a<100) or (a>=120 and a<140) or++ (a<=-20 and a>-40) or (a<=-60 and a>-80) or (a<=-100 and a>-120) or (a<=-140 and a>-160)
所以正确的表达是

((a>=0) & (a<20)) | ((a>=40) & (a<60)) | ((a>=80) & (a<100)) ...
((a>=0)和(a=40)和(a=80)和(请参见相关:请参见相关: