具有复杂条件的 Numpy Select 索引
Numpy Select indices with complex conditions
简单的问题...希望...
我有一个矩阵 a ,大小为 (n x m)
a = np.matrix([[1,2,3],[3,2,1],[6,4,1]])
并且我想针对以下条件提取大小为 (n x m) 的布尔矩阵 b;
b = 3 < a > 7 and a != 6
但是它抛出以下错误。
The truth value of an array with more than one element is ambiguous.
Use a.any() or a.all()
任何帮助,因为我被困住了。
干杯!
您不能将 and
与数组一起使用,因为您试图将单个值与必须使用 &
的数组进行比较,还需要将条件括在括号中,因为运算符优先级:
In [56]:
a[(a > 3 ) & (a < 7) & (a != 6)]
Out[56]:
matrix([[4]])
简单的问题...希望...
我有一个矩阵 a ,大小为 (n x m)
a = np.matrix([[1,2,3],[3,2,1],[6,4,1]])
并且我想针对以下条件提取大小为 (n x m) 的布尔矩阵 b;
b = 3 < a > 7 and a != 6
但是它抛出以下错误。
The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
任何帮助,因为我被困住了。
干杯!
您不能将 and
与数组一起使用,因为您试图将单个值与必须使用 &
的数组进行比较,还需要将条件括在括号中,因为运算符优先级:
In [56]:
a[(a > 3 ) & (a < 7) & (a != 6)]
Out[56]:
matrix([[4]])