Numpyの配列を別の配列にコピーするには?

スポンサーリンク

配列は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]

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("
Copied array is: "
)
   
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('
Copied Array:
'
, 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("
Copy of the original array is: "
)
   
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]

結論

要約すると、ある配列を別の配列にコピーするために使用できるさまざまなメソッドや関数について学びました。

配列は非常に便利なデータ構造であり、配列に対して実行できるさまざまな操作を知っておくことは非常に重要です。

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