Python 数组和数字之间的最大值
使用时:Python 数组和数字之间的最大值,python,arrays,numpy,max,Python,Arrays,Numpy,Max,使用时: 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函数直接获得相同的结果,例如? print max(A, 0) # ValueError: The truth value of an array with more than one element is ambiguous
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函数直接获得相同的结果,例如?
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
它只是np.最大值(A,0)。与
np.max
函数相反,它接受两个参数,并按元素进行比较。在您的例子中,因为第二个参数是标量值,所以比较将通过广播它来进行。它只是np.max(a,0)
。与np.max
函数相反,它接受两个参数,并按元素进行比较。在您的例子中,由于第二个参数是标量值,因此比较将通过广播来进行。np.maximum
?如果你只是得到A
和0
之间的最大值(比如relu),那么你可以只做A*(A>0)
@Divakar哦,没错!我一直认为np.max是np.max的别名,因为我找不到np.max的任何文档。。。此链接不起作用:@Divakar请原谅,但我认为这里的问题是关于np.max的doc不存在/np.max和np.max之间的混淆,而不是关于“有条件地组合两个相同形状的numpy数组”。我的标题是相反的:有条件地比较一个数组和一个数字(显然不是相同的形状)。@Basj Wellnp。链接dup Q&a中所述的最大值
适用于所有可广播的形状,不一定是相同的形状,因此在这里也适用。我在这里读到的问题是-如何直接使用numpy函数获得相同的值,如np.max?
和np.max
的工作原理与前面再次说明的一样完美np.maximum
?如果你只是得到A
和0
之间的最大值(比如relu),那么你可以只做A*(A>0)
@Divakar哦,没错!我一直认为np.max是np.max的别名,因为我找不到np.max的任何文档。。。此链接不起作用:@Divakar请原谅,但我认为这里的问题是关于np.max的doc不存在/np.max和np.max之间的混淆,而不是关于“有条件地组合两个相同形状的numpy数组”。我的标题是相反的:有条件地比较一个数组和一个数字(显然不是相同的形状)。@Basj Wellnp。链接dup Q&a中所述的最大值
适用于所有可广播的形状,不一定是相同的形状,因此在这里也适用。我在这里读到的问题是-如何使用numpy函数直接获得相同的值,例如np.max?
和np.max
与前面再次提到的一样,非常好地工作。非常感谢!我一直认为np.max
是np.max
的别名@巴斯基:不是。它似乎是np.amax
的别名(尽管文档中没有明确说明),非常感谢!我一直认为np.max
是np.max
的别名@巴斯基:不是。它似乎是np.amax
的别名(尽管文档中没有明确说明)