У меня есть панд ряд вида [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 в soln.
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)
Является ли более ориентированный на панд подход? Leon
возможно только '.fillna' с 0, чтобы сделать его аккуратным и опрятным. –
@ juanpa.arrivillaga спасибо, обновлено –