我有一个数组,我想从数据中选择一个范围。数据集在twi数组中,最小值为0,最大值为26。你知道吗
我将数据集从光栅转换为数组twi_raster
再转换为twi_array
。你知道吗
twi_array = arc.RasterToNumPyArray(twi_raster , nodata_to_value=0)
x= twi_array>9 and twi_array<=17
twi_array = [ twi_array if x else 0 for x in twi_array]
我想选择我感兴趣的范围,但是我失败了,因为我的if
条件是错误的。你知道吗
x= twi_array>9 and twi_array<=17
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
我的答案中混入了一些概念,这可能会让你更加困惑,所以让我来为你细分一下。这是对你问题最忠实的回答:
x
定义为lambda函数,其功能与:我们使用
bar if x(bar) else 0
作为python三元运算符 相当于:bar
仅在列表理解的范围内定义(即在[...]
内)。我们用它来迭代twi_array
的元素相关问题 更多 >
编程相关推荐