Numpy数组仅对某些元素应用函数

时间:2017-11-07 15:47:48

标签: python numpy multidimensional-array exp

我有一个numpy数组让我们说它有一个形状(10,10)。 现在我想将np.exp()应用于此数组,但仅适用于满足条件的某些特定元素。例如,我想将np.exp应用于所有不是0或1的元素。有没有办法在不使用for循环的情况下对数组的每个元素进行迭代?

1 个答案:

答案 0 :(得分:4)

这可以通过基本的numpy操作实现。这是一种方法:

A = np.random.randint(0,5,size=(10,10)).astype(float)  # data
goods = (A!=0) & (A!=1)  # 10 x 10 boolean array
A[goods] = np.exp(A[goods])  # boolean indexing