Если у меня очень большая матрица с одним бесполезным столбцом, как я могу ее сбросить без, создавая копию исходного массива?Эффективный способ удаления столбца из массива Numpy?
np.delete(my_np_array, 0, 1)
Приведенный выше код вернет копию массива без нулевого столбца. Но вместо этого я хотел бы просто удалить этот столбец из my_np_array
, так как он мне не нужен. Для очень больших наборов данных управление памятью становится важным, и копирование может быть не вариантом.
Предотвращение копирования в numpy, к сожалению, сложно. Если это первый или последний столбец, вы, вероятно, можете уйти с помощью простого среза массива. Скорее всего, это не будет копировать массив * прямо сейчас *, но если вы продолжите делать с ним более сложные вещи, нет гарантии, что позже вы не получите копии (или временные массивы) в своем коде (AFAIK). – mgilson
@ Krishan Можно ли загрузить его по-другому в python? Если массив несколько генерируется из данных, можем ли мы сделать что-то, чтобы убить столбец перед рукой? Если нет, можем ли мы предварительно обработать массив другими способами, например, в 'MATLAB'? – Ray