Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 二维数组、不等式与where函数_Python_Arrays_Numpy_Multidimensional Array - Fatal编程技术网

Python 二维数组、不等式与where函数

Python 二维数组、不等式与where函数,python,arrays,numpy,multidimensional-array,Python,Arrays,Numpy,Multidimensional Array,如果给定一个数组,如 a = array([[2,4,9,8,473],[54,7,24,19,20]]) 那么,如何写入数组的索引,这些索引的值介于x和y之间 目前我有: where(5 > a > 10) 然而,如果我说,例如: where(a > 5) 但是where函数不接受这个命令,一旦它接受了这个命令,它就应该输出一个2一维数组,有没有办法轻松地将它们堆叠起来?您需要指定两个索引,一个是指哪个内部数组,另一个是指哪个数组的实际成员,您可以使用逻辑运算符&和|或

如果给定一个数组,如

a = array([[2,4,9,8,473],[54,7,24,19,20]])
那么,如何写入数组的索引,这些索引的值介于x和y之间

目前我有:

where(5 > a > 10)
然而,如果我说,例如:

where(a > 5)

但是where函数不接受这个命令,一旦它接受了这个命令,它就应该输出一个2一维数组,有没有办法轻松地将它们堆叠起来?

您需要指定两个索引,一个是指哪个内部数组,另一个是指哪个数组的实际成员,您可以使用逻辑运算符&和|或将不同的条件链接在一起,因此对于您的情况,您可以执行以下操作:

np.where((a > 5) & (a < 10))

# (array([0, 0, 1]), array([2, 3, 1]))
# here np.where gives a tuple, the first element of which gives the row index, while the 
# second element gives the corresponding column index
如果希望索引是一个数组,其中每一行表示一个元素,可以将其堆叠:

np.stack(np.where((a > 5) & (a < 10)), axis=-1)
# array([[0, 2],
#        [0, 3],
#        [1, 1]])

或者像@Divakar评论的那样,使用np.argwhere>5&a<10。

你的意思是5