※このページではアフィリエイト広告を利用しています

【Python応用】PythonとNumPy-copyを用いた配列の複製方法-

Python

ここではNumPyにおける配列をコピーする方法について解説しています。

この記事の対象

  • copy関数について知りたい方
  • スライシングについて知りたい方
  • copytoについて知りたい方
スポンサーリンク
スポンサーリンク

copy関数とは

copy関数は、NumPy配列を新たなメモリ領域にコピーします。これにより、元の配列とコピーした配列が独立して操作できるようになります。

基本的な型

np.copy(x)

基本的な型としては「.copy()」の中に複製したい配列を入れるだけです。

使用例

import numpy as np
b = np.arange(10)
print(b)
c = np.copy(b)
print("↓↓↓↓↓↓↓↓↓↓")
print(c)
#[0 1 2 3 4 5 6 7 8 9]
#↓↓↓↓↓↓↓↓↓↓
#[0 1 2 3 4 5 6 7 8 9]

上記のプログラムは0~9までの配列を作成してそれを複製する内容になっています。

結果として、同じ配列になっていることが確認できます。

numpy.ndarray.copy()

配列オブジェクトのメソッドとしても利用可能です。

import numpy as np

#1---NumPy配列を作成
arr_original = np.array([1, 2, 3, 4, 5])

#2—--コピーを作成
arr_copy = arr_original.copy()

#3---コピーした配列の要素を変更しても、元の配列には影響しない
arr_copy[0] = 10

print("Original Array:", arr_original)
print("Copied Array:", arr_copy)

スライシング

スライシングを使用してもコピーが作成できます。

import numpy as np

# NumPy配列を作成
arr_original = np.array([1, 2, 3, 4, 5])

# コピーを作成
arr_copy = arr_original[:]

# コピーした配列の要素を変更しても、元の配列には影響しない
arr_copy[0] = 10

print("Original Array:", arr_original)
print("Copied Array:", arr_copy)

numpy.copyto()

配列を別の配列にコピーするための関数です。

import numpy as np

# 元の配列
arr_original = np.array([1, 2, 3, 4, 5])

# コピー先の配列を作成
arr_copy = np.array([0, 0, 0, 0, 0])

# copyto関数を使用して元の配列をコピー
np.copyto(arr_copy, arr_original)

print("Original Array:", arr_original)
print("Copied Array:", arr_copy)

copy関数や関連する方法を使用することで、NumPy配列を安全にコピーして操作できます。これにより、元の配列への予期しない変更を回避できます。

タイトルとURLをコピーしました