python - 使用逻辑运算符索引 numpy 数组

标签 python arrays numpy indexing

我有一个 2d numpy 数组,例如:

import numpy as np
a1 = np.zeros( (500,2) )

a1[:,0]=np.arange(0,500)
a1[:,1]=np.arange(0.5,1000,2)
# could be also read from txt

然后我想选择与某个条件匹配的切片对应的索引,例如范围 (l1,l2) 中包含的所有值 a1[:,1]:

l1=20.0; l2=900.0; #as example

我想用简洁的表达方式来做。然而,两者都不是:

np.where(a1[:,1]>l1 and a1[:,1]<l2)

(它给出 ValueError 并建议使用 np.all,在这种情况下我不清楚);两者都不是:

np.intersect1d(np.where(a1[:,1]>l1),np.where(a1[:,1]<l2))

正在工作(它提供了不可散列的类型:'numpy.ndarray')

我的想法是使用这些索引来映射另一个大小为 (500,n) 的数组。

这样选择索引有什么合理的方法吗?或者:这种情况有必要使用口罩吗?

最佳答案

这应该有效

np.where((a1[:,1]>l1) & (a1[:,1]<l2))

np.where(np.logical_and(a1[:,1]>l1, a1[:,1]<l2))

关于python - 使用逻辑运算符索引 numpy 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20974640/

相关文章:

Python - 使用字符串作为表达式(exec 和 eval 不起作用)

javascript - React-Native for-loop through large size array 性能问题

javascript - 从 JSON 数组中拼接或删除元素列表,仅删除偶数项而不是匹配项

Python优化问题?

python - 过滤 numpy 数组的 numpy 数组

python - 检查某个值在时间范围内是否超过阈值的最佳方法

python - 用 BeautifulSoup 解析表并写入文本文件

javascript - 如何使用纯 JavaScript 访问最内层的双重嵌套数组/对象?

python - Numpy 数组整数/ float 除法

python - 正则表达式 : re. findall() for set of all alphabetic words