Python np.any()多个逻辑语句
我有一个具有多个值的numpy数组(例如:Python np.any()多个逻辑语句,python,numpy,Python,Numpy,我有一个具有多个值的numpy数组(例如:v=np.array([0.81597636,0.93198024])。 我想检查v中的任何值是否在xmin和xmax之间。我尝试了以下操作: 如果np.any(xmin您需要分别检查这两个条件,并将它们与按位and组合: v = np.array([0.81597636, 0.93198024]) (v > 0.85) & (v < 1.) # array([False, True]) v=np.array([0.8159763
v=np.array([0.81597636,0.93198024])
。
我想检查v
中的任何值是否在xmin
和xmax
之间。我尝试了以下操作:
如果np.any(xmin您需要分别检查这两个条件,并将它们与按位and组合:
v = np.array([0.81597636, 0.93198024])
(v > 0.85) & (v < 1.)
# array([False, True])
v=np.array([0.81597636,0.93198024])
(v>0.85)和(v<1.)
#数组([False,True])
请注意,第一次比较的结果是:
0.85 < v
# array([False, True])
0.85
因此请注意,执行以下操作将引发错误:
0.85 < v < 1.
0.85
ValueError:包含多个元素的数组的真值不明确。请使用a.any()或a.all()
这背后的原因是,您正在将一个1x2
数组与一个int
数组进行比较,这会导致另一个1x2
数组,当然,结果是不明确的。您需要将一个布尔数组与另一个布尔数组进行比较,这就是为什么必须如上所示链接条件的原因。这里有一种使用列表Com的替代方法把握
v = np.array([0.81597636, 0.93198024])
xmin, xmax = 0.8, 0.9
check_list = [True if xmin <= i <= xmax else False for i in v]
当您有一个Numpy数组时,使用列表理解是否明智?
[True, False]