logo

NumPy ンダーレイ

Ndarray は、同様のタイプの要素のコレクションを格納する numpy で定義された n 次元配列オブジェクトです。つまり、ndarray をデータ型 (dtype) オブジェクトのコレクションとして定義できます。

ndarray オブジェクトには、0 ベースのインデックスを使用してアクセスできます。 Array オブジェクトの各要素には、メモリ内に同じサイズが含まれます。

ndarray オブジェクトの作成

ndarray オブジェクトは、numpy モジュールの配列ルーチンを使用して作成できます。この目的のために、numpy をインポートする必要があります。

 >>> a = numpy.array 

以下の画像を考えてみましょう。

NumPy ンダーレイ

コレクション オブジェクトを配列ルーチンに渡して、同等の n 次元配列を作成することもできます。構文を以下に示します。

 >>> numpy.array(object, dtype = None, copy = True, order = None, subok = False, ndmin = 0) 

パラメータについては次の表で説明します。

SN パラメータ 説明
1 物体 コレクションオブジェクトを表します。リスト、タプル、辞書、セットなどを指定できます。
2 dtype このオプションを指定した型に変更することで、配列要素のデータ型を変更できます。デフォルトはなしです。
3 コピー オプションです。デフォルトでは、オブジェクトがコピーされることを意味する true です。
4 注文 このオプションには 3 つの値を割り当てることができます。 C (列順序)、R (行順序)、または A (任意) を指定できます。
5 テストされた 返される配列は、デフォルトでは基本クラス配列になります。このオプションを true に設定することで、サブクラスが通過するようにこれを変更できます。
6 NDMIN これは、結果として得られる配列の最小次元を表します。

リストを使用して配列を作成するには、次の構文を使用します。

 >>> a = numpy.array([1, 2, 3]) 
NumPy ンダーレイ

多次元配列オブジェクトを作成するには、次の構文を使用します。

 >>> a = numpy.array([[1, 2, 3], [4, 5, 6]]) 
NumPy ンダーレイ

配列要素のデータ型を変更するには、コレクションとともにデータ型の名前を指定します。

文字.比較Java
 >>> a = numpy.array([1, 3, 5, 7], complex) 
NumPy ンダーレイ

配列の次元を調べる

それは私です 関数を使用して配列の次元を見つけることができます。

 >>> import numpy as np >>> arr = np.array([[1, 2, 3, 4], [4, 5, 6, 7], [9, 10, 11, 23]]) >>> print(arr.ndim) 
NumPy ンダーレイ

配列の各要素のサイズを調べる

itemsize 関数は、各配列項目のサイズを取得するために使用されます。配列の各要素が占めるバイト数を返します。

次の例を考えてみましょう。

 #finding the size of each item in the array import numpy as np a = np.array([[1,2,3]]) print('Each item contains',a.itemsize,'bytes') 

出力:

 Each item contains 8 bytes. 

配列の各項目のデータ型を調べる

配列の各項目のデータ型を確認するには、dtype関数を使用します。配列項目のデータ型を確認するには、次の例を考えてください。

 #finding the data type of each array item import numpy as np a = np.array([[1,2,3]]) print('Each item is of the type',a.dtype) 

出力:

 Each item is of the type int64 

配列の形状とサイズを調べる

配列の形状とサイズを取得するには、numpy 配列に関連付けられたサイズと形状の関数が使用されます。

次の例を考えてみましょう。

strからintへ

 import numpy as np a = np.array([[1,2,3,4,5,6,7]]) print('Array Size:',a.size) print('Shape:',a.shape) 

出力:

 Array Size: 7 Shape: (1, 7) 

配列オブジェクトの形状を変更する

配列の形状とは、多次元配列の行数と列数を意味します。ただし、numpy モジュールは、多次元配列の行数と列数を変更することで配列を再形成する方法を提供します。

ndarray オブジェクトに関連付けられた reshape() 関数は、配列の形状を変更するために使用されます。配列の新しい形状の行と列を示す 2 つのパラメーターを受け入れます。

次の図に示す配列の形状を変更してみましょう。

NumPy ンダーレイ

 import numpy as np a = np.array([[1,2],[3,4],[5,6]]) print('printing the original array..') print(a) a=a.reshape(2,3) print('printing the reshaped array..') print(a) 

出力:

 printing the original array.. [[1 2] [3 4] [5 6]] printing the reshaped array.. [[1 2 3] [4 5 6]] 

配列内のスライス

NumPy 配列のスライスは、配列から要素の範囲を抽出する方法です。配列内のスライスは、Python リストで実行されるのと同じ方法で実行されます。

配列の特定の要素を出力する次の例を考えてみましょう。

 import numpy as np a = np.array([[1,2],[3,4],[5,6]]) print(a[0,1]) print(a[2,0]) 

出力:

 2 5 

上記のプログラムは 2 を出力します。nd0からの要素番目インデックスと0番目2の要素nd配列のインデックス。

リンスペース

linspace() 関数は、指定された間隔にわたって等間隔の値を返します。次の例は、指定された間隔 5 ~ 15 にわたって均等に区切られた 10 個の値を返します。

 import numpy as np a=np.linspace(5,15,10) #prints 10 values which are evenly spaced over the given interval 5-15 print(a) 

出力:

 [ 5. 6.11111111 7.22222222 8.33333333 9.44444444 10.55555556 11.66666667 12.77777778 13.88888889 15. ] 

配列要素の最大値、最小値、および合計を求める

NumPy は、配列要素の最大値、最小値、合計をそれぞれ見つけるために使用される max()、min()、および sum() 関数を提供します。

関係構成

次の例を考えてみましょう。

 import numpy as np a = np.array([1,2,3,10,15,4]) print('The array:',a) print('The maximum element:',a.max()) print('The minimum element:',a.min()) print('The sum of the elements:',a.sum()) 

出力:

 The array: [ 1 2 3 10 15 4] The maximum element: 15 The minimum element: 1 The sum of the elements: 35 

NumPy 配列軸

NumPy 多次元配列は軸によって表されます。ここで、axis-0 は列を表し、axis-1 は行を表します。行要素や列要素の追加など、行レベルまたは列レベルの計算を実行するために軸について言及できます。

NumPy ンダーレイ

各列の最大要素、各行の最小要素、およびすべての行要素の加算を計算するには、次の例を考えてください。

 import numpy as np a = np.array([[1,2,30],[10,15,4]]) print('The array:',a) print('The maximum elements of columns:',a.max(axis = 0)) print('The minimum element of rows',a.min(axis = 1)) print('The sum of all rows',a.sum(axis = 1)) 

出力:

 The array: [[1 2 30] [10 15 4]] The maximum elements of columns: [10 15 30] The minimum element of rows [1 4] The sum of all rows [33 29] 

平方根と標準偏差を求める

numpy 配列に関連付けられた sqrt() 関数と std() 関数は、それぞれ配列要素の平方根と標準偏差を求めるために使用されます。

標準偏差は、配列の各要素が numpy 配列の平均値からどの程度変化するかを意味します。

次の例を考えてみましょう。

ミッションインポッシブルすべての映画

 import numpy as np a = np.array([[1,2,30],[10,15,4]]) print(np.sqrt(a)) print(np.std(a)) 

出力:

 [[1. 1.41421356 5.47722558] [3.16227766 3.87298335 2. ]] 10.044346115546242 

配列に対する算術演算

numpy モジュールを使用すると、多次元配列に対して直接算術演算を実行できます。

次の例では、2 つの多次元配列 a と b に対して算術演算が実行されます。

 import numpy as np a = np.array([[1,2,30],[10,15,4]]) b = np.array([[1,2,3],[12, 19, 29]]) print('Sum of array a and b
',a+b) print('Product of array a and b
',a*b) print('Division of array a and b
',a/b) 

配列の連結

numpy は、2 つの多次元配列を垂直または水平に連結できる垂直スタッキングと水平スタッキングを提供します。

次の例を考えてみましょう。

 import numpy as np a = np.array([[1,2,30],[10,15,4]]) b = np.array([[1,2,3],[12, 19, 29]]) print('Arrays vertically concatenated
',np.vstack((a,b))); print('Arrays horizontally concatenated
',np.hstack((a,b))) 

出力:

 Arrays vertically concatenated [[ 1 2 30] [10 15 4] [ 1 2 3] [12 19 29]] Arrays horizontally concatenated [[ 1 2 30 1 2 3] [10 15 4 12 19 29]]