Numpy:检查数组中所有元素是否具有相同符号的最快方法?

时间:2015-01-20 15:29:37

标签: python numpy

我正在寻找一种优化或可爱的方式来检查数组的所有元素是否具有相同的符号(严格地说)。

我一直在考虑这样做:

N.all(my_array*my_array[0]>0)

因为它会检查所有元素是否与第一个元素具有相同的符号,所以相同的符号,但它看起来不可爱或优雅。

2 个答案:

答案 0 :(得分:7)

将整个阵列增加似乎是一种浪费。只要看看第一个元素的符号并使用它,我就说:

N.all(my_array > 0) if my_array[0] > 0 else N.all(my_array < 0)

答案 1 :(得分:3)

试试这个:

len(N.unique(N.sign(a)))==1