Посмотрите на документ np.argwhere
, он не возвращает список целых чисел, а список списков
x = array([[0, 1, 2], [3, 4, 5]])
np.argwhere(x>1)
>>> array([[0, 2], [1, 0], [1, 1], [1, 2]])
y = np.array([0, 1, 2, 3, 4, 6, 7])
np.argwhere(y>3)
>>> array([[4], [5], [6]])
поэтому, не зная, как выглядит ваш c
, я предполагаю, что ваш i
будет иметь форму np.array([[3]])
вместо целого числа, и, следовательно, ваш код завершится ошибкой. Напечатайте i
для проверки и извлечения (например, i[0][0]
и проверки того, что он не пустой), прежде чем выполнить i != -1
.
, требуемый индекс.
Meta
Рекомендуется опубликовать минимальный восстанавливаемый пример, т. Е. Другие люди должны иметь возможность скопировать и вставить код и запустить его. Более того, если вы разместите хотя бы пару строк трассировки (вместо просто ошибки), мы сможем определить, где именно происходит ошибка.