NumPy配列のディープコピーを作成するためには、numpy.copy()
関数を使用します。以下に、具体的なコード例を示します。
import numpy as np
# オリジナルのNumPy配列
original_array = np.array([1, 2, 3, 4, 5])
# ディープコピーの作成
deep_copy = np.copy(original_array)
# オリジナルの配列を変更
original_array[0] = 10
# ディープコピーとオリジナルの配列を比較
print("ディープコピー:", deep_copy)
print("オリジナルの配列:", original_array)
上記のコードでは、np.copy()
関数を使用してディープコピーを作成しています。ディープコピーは、元の配列とは独立しており、変更が互いに影響しないことが確認できます。
もしもシャローコピーを作成するだけで十分な場合は、単純に代入演算子を使用することもできます。
import numpy as np
# オリジナルのNumPy配列
original_array = np.array([1, 2, 3, 4, 5])
# シャローコピーの作成
shallow_copy = original_array
# オリジナルの配列を変更
original_array[0] = 10
# シャローコピーとオリジナルの配列を比較
print("シャローコピー:", shallow_copy)
print("オリジナルの配列:", original_array)
上記のコードでは、代入演算子を使用してシャローコピーを作成しています。シャローコピーは元の配列と同じメモリを共有しているため、一方の配列が変更されるともう一方にも影響が及びます。
以上がNumPy配列のディープコピーとシャローコピーの作成方法です。必要に応じて、適切な方法を選択して使用してください。