Python-код для подсчета количества пересечений нуля в массиве

Я рассчитываю подсчитать, сколько раз значения в массиве меняются по полярности (EDIT: количество раз, когда значения в массиве пересекают ноль).

Предположим, у меня есть массив:

[80.6  120.8  -115.6  -76.1  131.3  105.1  138.4  -81.3
 -95.3  89.2  -154.1  121.4  -85.1  96.8  68.2]`

Я хочу, чтобы количество было 8.

Одно из решений состоит в том, чтобы запустить цикл и проверить, больше или меньше 0, и сохранить историю предыдущей полярности.

Можем ли мы сделать это быстрее?

РЕДАКТИРОВАТЬ: Моя цель действительно найти что-то быстрее, потому что у меня есть эти массивы около 68554308, и я должен сделать эти вычисления на 100+ таких массивов.

Ответы на вопрос(6)

Ваш ответ на вопрос