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

Python のリストは、宣言する必要がなく、柔軟に縮小および拡張できる異種要素を保持できる線形データ構造です。一方、配列は同種の要素を保持できるデータ構造です。配列は Python で次のように実装されます。 ナムピー 図書館。配列は必要なメモリが少なくなります。 リスト 。配列とリストの類似点は、配列とリストの両方の要素がインデックス値によって識別できることです。

  Input:   [1, 7, 0, 6, 2, 5, 6]   Output:   [1 7 0 6 2 5 6]   Explanation:   Given Python List is converted into NumPy Array 

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

パイソン , リストは、NumPy ライブラリの 2 つのメソッドを使用して配列に変換できます。

  • numpy.array() の使用
  • 使用する numpy.asarray()

numpy.array() を使用した NumPy 配列への Python リスト

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

Python3




# importing library> import> numpy> # initializing list> lst> => [> 1> ,> 7> ,> 0> ,> 6> ,> 2> ,> 5> ,> 6> ]> # converting list to array> arr> => numpy.array(lst)> # displaying list> print> (> 'List: '> , lst)> # displaying array> print> (> 'Array: '> , arr)>

出力:

List: [1, 7, 0, 6, 2, 5, 6] Array: [1 7 0 6 2 5 6] 

numpy.asarray() を使用した NumPy 配列への Python リスト

ナンピーでは、 numpy.asarray() 入力データをNumPy配列に変換する関数です。引数を受け取り、NumPy 配列を返します。メモリ内に新しいコピーは作成されません。

Python3




# importing library> import> numpy> # initializing list> lst> => [> 1> ,> 7> ,> 0> ,> 6> ,> 2> ,> 5> ,> 6> ]> # converting list to array> arr> => numpy.asarray(lst)> # displaying list> print> (> 'List:'> , lst)> # displaying array> print> (> 'Array: '> , arr)>

出力:

List: [1, 7, 0, 6, 2, 5, 6] Array: [1 7 0 6 2 5 6] 

numpy.array() と numpy.asarray() の違い

上記 2 つのメソッドの決定的な違いは、numpy.array() が元のオブジェクトの複製を作成し、numpy.asarray() が元のオブジェクトの変更をミラーリングすることです。 numpy.asarray() を使用して配列のコピーが作成されると、一方の配列で行われた変更はもう一方の配列にも反映されますが、配列が作成された場合のリストの変更は表示されません。ただし、numpy.array() ではこのようなことは起こりません。

Python3




# importing library> import> numpy> # initializing list> lst> => [> 1> ,> 7> ,> 0> ,> 6> ,> 2> ,> 5> ,> 6> ]> # converting list to array> arr> => numpy.asarray(lst)> # displaying list> print> (> 'List:'> , lst)> # displaying array> print> (> 'arr: '> , arr)> # made another array out of arr using asarray function> arr1> => numpy.asarray(arr)> #displaying 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, 7, 0, 6, 2, 5, 6] arr: [1 7 0 6 2 5 6] arr1: [1 7 0 6 2 5 6] lst: [1, 7, 0, 6, 2, 5, 6] arr: [ 1 7 0 23 2 5 6] arr1: [ 1 7 0 23 2 5 6] 

arr と arr1 では、変更はインデックス 3 で表示されますが、インデックス 1 では表示されません。