Pandas: отмечать последовательные значенияPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pandas: отмечать последовательные значения

Сообщение Anonymous »

У меня есть серия pandas в форме [0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1].

Код: Выделить всё

0: indicates economic increase.
1: indicates economic decline.
О рецессии сигнализируют два последовательных снижения (1).

Окончание рецессии сигнализируется два последовательных роста (0).

В приведенном выше наборе данных у меня есть две рецессии: начинаются с индекса 3, заканчиваются индексом 5 и начинаются с индекса 8 и заканчиваются индексом 11.

Я не понимаю, как подойти к этому с пандами. Я хотел бы определить индекс начала и конца рецессии. Будем признательны за любую помощь.

Вот моя попытка решения задачи на Python.

Код: Выделить всё

np_decline =  np.array([0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0 , 0 , 1])
recession_start_flag = 0
recession_end_flag = 0
recession_start = []
recession_end = []

for i in range(len(np_decline) - 1):
if recession_start_flag == 0 and np_decline[i] == 1 and np_decline[i + 1] == 1:
recession_start.append(i)
recession_start_flag = 1
if recession_start_flag == 1 and np_decline[i] == 0 and np_decline[i + 1] == 0:
recession_end.append(i - 1)
recession_start_flag = 0

print(recession_start)
print(recession_end)
Является ли этот подход более ориентированным на панд?
Леон

Подробнее здесь: https://stackoverflow.com/questions/405 ... ive-values
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»