配列はPythonのデータ構造の一種で、似たようなデータ型のオブジェクトを格納するものです。
しかし、時にはある配列を別の配列にコピーする必要がある場合があります。
今回は、Numpyの配列を別のNumpyの配列にコピーする方法について学びます。
では、さっそく始めてみましょう。
Numpy Arrayとは?
配列はPythonのデータ構造の一種で、似たようなデータ型のオブジェクトを格納するものです。
リストが複数のデータ型のオブジェクトを格納できることを除けば、リストとほとんど同じです。
例えば
import numpy as np
my_array = np.array([ 1 , 2 , 3 , 4 ])
print (my_array)
|
結果は以下の通りです。
出力:
[ 1 , 2 , 3 , 4 ]
|
この記事もチェック:Pythonでリストや配列、Numpyの長さを求める方法
Methods To Copy a Numpy Array Into Another Array (Numpyの配列を別の配列にコピーする方法)
では早速、使えるメソッドや関数を見てみましょう。
1. np.copy()関数の使用
この組み込み関数は、入力配列の全く同じコピーを返します。
この関数のシンタックスは以下の通りです。
numpy.copy(a, order=’K’)
次の例を見てみましょう。
import numpy as np
# Creating a numpy array using np.array() my_array = np.array([ 1.63 , 7.92 , 5.46 , 66.8 , 7.89 ,
3.33 , 6.56 , 50.60 , 100.11 ])
print ( "The original array is: " )
print (my_array)
# Now copying the org_array to copy_array using np.copy() function copy = np.copy(my_array)
print ( " )
print (copy)
|
結果は以下の通りです。
出力:
The original array is :
[ 1.63 7.92 5.46 66.8 7.89 3.33 6.56 50.6 100.11 ]
Copied array is :
[ 1.63 7.92 5.46 66.8 7.89 3.33 6.56 50.6 100.11 ]
|
2. アサインメント演算子の使用
Pythonでは一般的にアサインメント演算子は変数に値を代入するために使用されます。
しかし、ある配列を別の配列にコピーするためにも使うことができます。
例えば
例:
import numpy as np
my_array = np.array([[ 100 , 55 , 66 , 44 , 77 ]])
# Copying the original array to copy using Assignment operator copy = my_array
print ( 'The Original Array: , my_array)
print ( ' , copy)
|
結果は以下の通りです。
出力:
The Original Array: [[ 100 55 66 44 77 ]]
Copied Array: [[ 100 55 66 44 77 ]]
|
ここでは、コピーされた配列に元の配列を単純に代入しています。
3. np.empty_like関数の使用
この方法では、まず元の配列のような空の配列を作成し、次に元の配列を空の配列に代入します。
関数のシンタックスは以下の通りです。
numpy.empty_like(a, dtype = None , order = ‘K’)
|
では、次の例を見てみましょう。
出力:
import numpy as np
my_ary = np.array([ 34 , 65 , 11 ,
66 , 80 , 630 , 50 ])
print ( "The original array is:" )
print (my_ary)
# Creating an empty Numpy array similar to the original array copy = np.empty_like(my_ary)
# Assigning my_ary to copy copy[:] = my_ary
print ( " )
print (copy)
|
結果は以下の通りです。
出力:
The original array is :
[ 34 65 11 66 80 630 50 ]
Copy of the original array is :
[ 34 65 11 66 80 630 50 ]
|
結論
要約すると、ある配列を別の配列にコピーするために使用できるさまざまなメソッドや関数について学びました。
配列は非常に便利なデータ構造であり、配列に対して実行できるさまざまな操作を知っておくことは非常に重要です。