logo

Python リストを NumPy 配列に変換する

導入

Python では、リストは異種の要素を格納できる線形データ構造です。定義する必要はなく、必要に応じて縮小したり拡張したりできます。一方、NumPy 配列は、同種の要素を格納できるデータ構造です。これは、NumPy ライブラリを使用して Python で実装されます。このライブラリは、多次元配列の処理において非常に効率的です。また、膨大な数のデータ要素を処理する際にも非常に効率的です。 NumPy 配列は、List データ構造よりも使用するメモリが少なくなります。 NumPy 配列とリストはどちらもインデックス値によって識別できます。

NumPy ライブラリには、Python でリストを配列に変換するための 2 つのメソッドが用意されています。

  1. numpy.array() の使用
  2. numpy.asarray() の使用

方法 1: numpy.array() を使用する

Python では、リストを NumPy 配列に変換する最も簡単な方法は、numpy.array() 関数を使用することです。引数を受け取り、NumPy 配列を返します。メモリ内に新しいコピーが作成されます。

プログラム1

 # importing library of the array in python import numpy # initilizing elements of the list a = [1, 2, 3, 4, 5, 6, 7, 8, 9] # converting elements of the list into array elements arr = numpy.array(a) # displaying elements of the list print ('List: ', a) # displaying elements of the array print ('Array: ', arr) 

出力:

 List: [1, 2, 3, 4, 5, 6, 7, 8, 9] Array: [1 2 3 4 5 6 7 8 9] 
Python リストを NumPy 配列に変換する

方法 2: numpy.asarray() を使用する

Python の 2 番目の方法は、リストを NumPy 配列に変換する numpy.asarray() 関数です。引数を受け取り、それを NumPy 配列に変換します。メモリ内に新しいコピーは作成されません。これにより、元の配列に加えられたすべての変更が NumPy 配列に反映されます。

プログラム2

 # importing library of the array in python import numpy # initilizing elements of the list a = [1, 2, 3, 4, 5, 6, 7, 8, 9] # converting elements of the list into array elements arr = numpy.asarray(a) # displaying elements of the list print ('List:', a) # displaying elements of the array print ('Array: ', arr) 

出力:

 List: [1, 2, 3, 4, 5, 6, 7, 8, 9] Array: [1 2 3 4 5 6 7 8 9] 
Python リストを NumPy 配列に変換する

プログラム3

 # importing library of the NumPy array in python import numpy # initilizing elements of the list lst = [1, 2, 3, 4, 5, 6, 7, 8, 9] # converting elements of the list into array elements arr = numpy.asarray(lst) # displaying elements of the list print ('List:', lst) # displaying elements of the array print ('arr: ', arr) # made another array out of arr using asarray function arr1 = numpy.asarray(arr) #displaying elements of the arr1 before the changes made print('arr1: ' , arr1) #change made in arr1 arr1[3] = 23 #displaying arr1 , arr , list after the change has been made print('lst: ' , lst) print('arr: ' , arr) print('arr1: ' , arr1) 

出力:

 List: [1, 2, 3, 4, 5, 6, 7, 8, 9] arr: [1 2 3 4 5 6 7 8 9] arr1: [1 2 3 4 5 6 7 8 9] lst: [1, 2, 3, 4, 5, 6, 7, 8, 9] arr: [ 1 2 3 23 5 6 7 8 9] arr1: [ 1 2 3 23 5 6 7 8 9] 
Python リストを NumPy 配列に変換する