Код: Выделить всё
0: indicates economic increase.
1: indicates economic decline.
Окончание рецессии сигнализируется два последовательных роста (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