Numpy:检查数组中所有元素是否具有相同符号的最快方法?
Numpy: quickest way to check if all elements in an array have the same sign?
我正在寻找一种优化或可爱的方法来检查数组的所有元素是否具有相同的符号(严格)。
我一直在考虑做:
N.all(my_array*my_array[0]>0)
因为它会检查是否所有元素都与第一个元素具有相同的符号,因此相同的符号但它看起来并不可爱或优雅。
将整个数组相乘似乎很浪费。只需查看第一个元素的符号并使用它,我会说:
N.all(my_array > 0) if my_array[0] > 0 else N.all(my_array < 0)
试试这个:
len(N.unique(N.sign(a)))==1
我正在寻找一种优化或可爱的方法来检查数组的所有元素是否具有相同的符号(严格)。
我一直在考虑做:
N.all(my_array*my_array[0]>0)
因为它会检查是否所有元素都与第一个元素具有相同的符号,因此相同的符号但它看起来并不可爱或优雅。
将整个数组相乘似乎很浪费。只需查看第一个元素的符号并使用它,我会说:
N.all(my_array > 0) if my_array[0] > 0 else N.all(my_array < 0)
试试这个:
len(N.unique(N.sign(a)))==1