zero_crossings2
в основном обнаруживает изменения знака.Если есть zero_crossings2
, я хочу добавить 1
к Cross_List, в противном случае я хочу добавить 0
к Cross_LIST.Код np.where(np.diff(np.sign(a2)))[0]
может определять индекс изменения знака.Поэтому, если он возвращает результат, я хочу вернуть «1» в этой конкретной позиции и «0» везде, где он не обнаруживает смену знака.
Вот текущее состояние моего кода:
import numpy as np
crossing_list = []
a2 = [1, 2, 1, 1, 0, -3, -4, 7, 8, 9, 10, -2, 1, -3, 5, 6, 7, -10]
zero_crossings2 = np.where(np.diff(np.sign(a2)))[0]
for i in range(len(a2)):
if X in zero_crossings2[i]:
crossing_list.append('1')
else:
crossing_list.append('0')
crossing_list_new = np.array(crossing_list)
У меня проблемы с оператором if, «X» неизвестен, поэтому я не знаю, какой элемент находится в списке.
Мой ожидаемый результат:
[0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1]