GOOGLE ADS

суббота, 30 апреля 2022 г.

Как вставить ноль в массив по тому индексу, который превышает размер этого массива?

Я хочу вставить ноль в определенные места в массиве, но позиция индекса места превышает размер массива

Я хотел, чтобы по мере вставки чисел одно за другим размер также увеличивался в этом процессе (массива 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)

Комментариев нет:

Отправить комментарий

Laravel Datatable addColumn returns ID of one record only

Я пытаюсь использовать Yajra Datatable для интеграции DataTable на свой веб-сайт. Я смог отобразить таблицу, но столкнулся с проблемой. В по...