我有一个2D numpython数组,即(15003712)。我想找出数组中值在-10到-40之间的指示符。到目前为止,我已经:
for item in lon_array:
for value in item:
if value >= -40. and value <= -10:
find_index = np.where(lon_array == value)
index = np.asarray(find_index).T
因为它是一个非常大的数组,有什么方法可以让它更快?你知道吗
Tags:
假设您的lon\u数组是numpy数组,您可以使用以下方法:
自np.哪里只需要一个条件,就可以将两个条件结合起来得到中间条件np.u和. 你知道吗
也可以作为一个内衬:
如果
lon_array
是一个列表列表(Python的内置基本数据类型),那么使用enumerate(...)
将是了解元素索引的最佳方法:使用
numpy.where
,您可以基于数据的值提取索引,并在构建numpy
的优化c code
中对数据执行迭代:输出:
因为您的过滤器中有两个条件,所以我建议您使用以下构造,以构建比
np.where
直接接受的更复杂的布尔表达式:相关问题 更多 >
编程相关推荐