Я хочу вставить ноль в определенные места в массиве, но позиция индекса места превышает размер массива
Я хотел, чтобы по мере вставки чисел одно за другим размер также увеличивался в этом процессе (массива X), поэтому, пока он не достигнет индекса 62, он не будет выдавать эту ошибку.
import numpy as np
X = np.arange(0,57,1)
desired_location = [ 0, 1, 24, 25, 26, 27, 62, 63]
for i in desired_location:
X_new = np.insert(X,i,0)
print(X_new)
выход
File "D:\python programming\random python files\untitled4.py", line 15, in <module>
X_new = np.insert(X,i,0)
File "<__array_function__ internals>", line 6, in insert
File "D:\spyder\pkgs\numpy\lib\function_base.py", line 4560, in insert
"size %i" % (obj, axis, N))
IndexError: index 62 is out of bounds for axis 0 with size 57
Решение проблемы
Сделайте копию X
в X_new
, чтобы массив становился длиннее в цикле, как вы хотите.
X_new = X.copy()
for i in desired_location:
X_new = np.insert(X_new, i, 0)
Комментариев нет:
Отправить комментарий