使用时:
import numpy as np
A = np.array([1,2,-3,-1, 0,3,-1])
print [max(A[j], 0) for j in range(len(A))]
我们将根据需要获得[1, 2, 0, 0, 0, 3, 0]
。
如何直接使用numpy函数(例如np.max
)获得相同的代码?
print max(A, 0) # ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
print np.max(A, 0) # 3
print np.max(A, 0, axis=0) # argument axis not working
print np.amax(A, 0) # 3
答案 0 :(得分:2)
它只是np.maximum(A, 0)
。与np.max
函数相反,它接受两个参数,并逐元素进行比较。在您的情况下,由于第二个参数是标量值,因此比较会通过广播进行。