Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 如何在一个NumPy数组中搜索位置,以便从第二个NumPy数组中获取这些位置的值?_Python_Arrays_Numpy_Arcgis_Arcpy - Fatal编程技术网

Python 如何在一个NumPy数组中搜索位置,以便从第二个NumPy数组中获取这些位置的值?

Python 如何在一个NumPy数组中搜索位置,以便从第二个NumPy数组中获取这些位置的值?,python,arrays,numpy,arcgis,arcpy,Python,Arrays,Numpy,Arcgis,Arcpy,我有两个光栅文件,我已将它们转换为NumPy数组(arcpy.RasterToNumpyArray),以便使用Python处理光栅单元格中的值 其中一个光栅有两个值True和False。另一个光栅在0到1000之间具有不同的值。两个光栅具有完全相同的范围,因此除了值之外,两个NumPy阵列的构建方式相同(列和行) 我的目标是识别NumPy数组A中具有值True的所有位置。这些位置用于从NumPy数组B获取这些位置的值 你知道我如何实现这一点吗?如果我正确理解你的描述,你应该能够执行B[A]你可以

我有两个
光栅
文件,我已将它们转换为
NumPy
数组(
arcpy.RasterToNumpyArray
),以便使用Python处理
光栅
单元格中的值

其中一个光栅有两个值
True
False
。另一个光栅在
0
1000
之间具有不同的值。两个
光栅
具有完全相同的范围,因此除了值之外,两个
NumPy
阵列的构建方式相同(列和行)

我的目标是识别
NumPy
数组
A
中具有值
True
的所有位置。这些位置用于从
NumPy
数组
B
获取这些位置的值


你知道我如何实现这一点吗?

如果我正确理解你的描述,你应该能够执行
B[A]
你可以使用带有
True
False
值的数组来简单地索引到另一个数组中。以下是一个示例:

import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
b = np.array([[True,False,False],[False,True,False],[False,False,True]])
a[b] ## gives  array([1, 5, 9])