проверял принятый ответ на другой вопрос .
Меня смущает раздел в демонстрации:
In [37]: (sign != sign.shift()).cumsum()
Out[37]:
0 1
1 1
2 2
3 2
4 2
5 3
6 3
Name: values, dtype: int64
Это появляется что каждый раз, когда (sign! = sign.shift ()) дает результат True
, cumsum()
возвращает увеличенное число и продолжает возвращать это число, пока не встретит другое значение True.
Просмотр редкие документы для .cumsum , я понятия не имею, как / почему происходит такое поведение, каким бы полезным оно ни было!
Мое единственное предположение, что cumsum () рассматривает True
как 1 и False
0