На скопированный массив влияет изменение исходного массива в Python - PullRequest
0 голосов
/ 29 сентября 2019

В jupyter notebook с python , когда я изменяю значение массива, являющегося копией другого массива, это повлияет на исходный массив, который неудобно использовать дляme.

Приведенный ниже код, который я пробовал на своем ноутбуке jupyter, и меняю значение массива arr_temp [1] . Но это повлияет на оригинальный массив numpy.

import numpy as np
array = np.array([1,5,6,7,8,94])
array[4:6]
arr_temp = array[4:6]
arr_temp[1]=100
array

Я ожидаю array([ 1, 5, 6, 7, 8, 94]), но я получил значения array([ 1, 5, 6, 7, 8, 100]).

1 Ответ

2 голосов
/ 29 сентября 2019

Попробуйте использовать arr_temp = array[4:6].copy().Вы всегда должны использовать copy (), когда хотите внести изменения в подмножество ваших данных, в противном случае python увидит его как фрагмент и изменит новый и оригинальный объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...