Numpy在数组的每个元素上应用条件

时间:2020-06-12 22:08:06

标签: python arrays numpy valueerror

python初学者在这里。我有一个可能很简单的问题,但我无法弄清楚。

让我们说我有一个numpy数组: a = np.array([1,2,3,4,5])

我想将每个元素乘以2,但是将结果限制为最大,例如6。所以我的结果将是数组([2,3,6,6,6])

但是,当我这样做时: b = min(6, a * 2)

我收到此错误: ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

我一直在做一些阅读,我可以理解为什么需要a.any()或a.all(),但我不知道如何实现这一点。我可以通过遍历a并将条件分别传递给每个项目来避免错误,但是这似乎效率很低。这是我的实际数组的简化版本,其形状为(27,360,720),因此遍历每个单个元素听起来并不正确。有一个好的解决方案吗?

0 个答案:

没有答案