非常基本的问题:
假设我有一个包含5个元素的1D numpy数组(
) A = np.array([ -4.0, 5.0, -3.5, 5.4, -5.9])
我需要在A的所有元素中添加5,小于零。如果没有for-looping,这样做的numpy方法是什么?
答案 0 :(得分:4)
可以使用mask完成:
A[A < 0] += 5
它的工作方式是 - 表达式A < 0
返回一个布尔数组。每个单元格对应于匹配单元格上应用的谓词。在当前示例中:
A < 0 # [ True False True False True]
然后,该操作仅应用于与谓词匹配的单元格。因此,在此示例中,它仅适用于True
单元格。
答案 1 :(得分:0)
我找到了另一个答案:
domain