Python 两个numpy数组中较大的一个,按元素排列
我有两个numpy数组,我试图找到其中较大的一个(元素方面,即所有元素都应该较大) 但是我没有得到想要的输出,并且得到了一个错误Python 两个numpy数组中较大的一个,按元素排列,python,arrays,numpy,elementwise-operations,Python,Arrays,Numpy,Elementwise Operations,我有两个numpy数组,我试图找到其中较大的一个(元素方面,即所有元素都应该较大) 但是我没有得到想要的输出,并且得到了一个错误 if all(b>a): print 'True' 对于多维数组,请使用: if np.all(b>a): print 'True' 但是all()对于一维数组速度更快,如果数组非常大,则可能会很有用: >>> timeit('a = np.array([4,5,6]); b = np.array([7,8,9]); al
if all(b>a):
print 'True'
对于多维数组,请使用:
if np.all(b>a):
print 'True'
但是all()
对于一维数组速度更快,如果数组非常大,则可能会很有用:
>>> timeit('a = np.array([4,5,6]); b = np.array([7,8,9]); all(a>b)',number=100000,setup='import numpy as np')
0.34104180335998535
>>> timeit('a = np.array([4,5,6]); b = np.array([7,8,9]); np.all(a>b)',number=100000,setup='import numpy as np')
0.9201719760894775
对于多维数组,请使用:
if np.all(b>a):
print 'True'
但是all()
对于一维数组速度更快,如果数组非常大,则可能会很有用:
>>> timeit('a = np.array([4,5,6]); b = np.array([7,8,9]); all(a>b)',number=100000,setup='import numpy as np')
0.34104180335998535
>>> timeit('a = np.array([4,5,6]); b = np.array([7,8,9]); np.all(a>b)',number=100000,setup='import numpy as np')
0.9201719760894775
使用np.all()
使用np.all()
b>a
生成一个包含True
/False
值的数组
但是,Python无法确定包含多个元素的NumPy数组是True
还是False
。应该如何计算数组([True,False,True])
之类的数组?由于可能存在歧义,因此引发了ValueError
相反,您需要检查b>a
中的所有值是否都是True
。使用NumPy的all()
执行此操作:
if (b > a).all():
print 'True'
b>a
生成一个包含True
/False
值的数组
但是,Python无法确定包含多个元素的NumPy数组是True
还是False
。应该如何计算数组([True,False,True])
之类的数组?由于可能存在歧义,因此引发了ValueError
相反,您需要检查b>a
中的所有值是否都是True
。使用NumPy的all()
执行此操作:
if (b > a).all():
print 'True'
可能的重复可能的重复