【发布时间】:2021-08-28 12:33:06
【问题描述】:
我有两个N维数组,两个数组的维数相同。
- a = (n,n,52)
- b = (n,n,52)
我正在尝试用变量 b 中的 (n,n) 数组过滤变量 a 中的每个 (n,n) 数组。我正在尝试使用命令
b[a==0 | a>5] = 1
但我收到以下错误
IndexError: boolean index did not match indexed array along dimension 2; dimension is 52 but corresponding boolean dimension is 1
在弄清楚如何使用另一个 N 维数组过滤一个 N 维数组时,我需要一些帮助。
【问题讨论】:
-
“过滤器”是什么意思?怎么过滤?请提供minimal reproducible example 以及所需的结果。
-
你需要括号:
b[(a==0) | (a>5)] = 1 -
做什么 |代表 ?还是??
-
感谢@AlexanderS.Brunmayr,这有帮助
-
@PierreD :过滤数组 从现有数组中取出一些元素并从中创建一个新数组称为过滤。在 NumPy 中,您使用布尔索引列表过滤数组。
标签: python python-3.x numpy numpy-ndarray n-dimensional