Как скопировать массив в numpy?

Пользователь

от jazmyne , в категории: Python , месяц назад

Как скопировать массив в numpy?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от magali , месяц назад

@jazmyne 

В библиотеке NumPy есть функция numpy.copy, которая создает копию массива. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import numpy as np

# Создаем массив
a = np.array([1, 2, 3])

# Создаем копию массива
b = np.copy(a)

# Изменяем b
b[0] = 5

# a не изменился
print(a)  # [1 2 3]


Также можно использовать метод copy у массива:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import numpy as np

# Создаем массив
a = np.array([1, 2, 3])

# Создаем копию массива
b = a.copy()

# Изменяем b
b[0] = 5

# a не изменился
print(a)  # [1 2 3]


Обратите внимание, что при присваивании одного массива другому просто создается ссылка на оригинальный массив, а не копия. Например:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import numpy as np

# Создаем массив
a = np.array([1, 2, 3])

# Присваиваем b ссылку на a
b = a

# Изменяем b
b[0] = 5

# a также изменилось
print(a)  # [5 2 3]


Чтобы создать настоящую копию массива, нужно использовать один из способов, описанных выше