PythonのNumPyでzerosメソッドを使って要素の値が0の状態で初期化する方法

スポンサーリンク
スポンサーリンク

イントロダクション

NumPy は Python の膨大な実装を持つモジュールです。

今日はNumpyの zeros() メソッドがNumPyで定義されているメソッドの1つであることを学びます。

それでは、さっそく勉強していきましょう

PythonのNumpy zeros()メソッド

PythonのNumpyの zeros() メソッドは、指定された形と型の新しい配列を作成し、そのすべての要素を0に初期化します。

この関数は、呼び出されたときに同じ配列を返します。

zeros()` メソッドの基本的な構文は以下の通りです。

import numpy as np
 
arr = np.zeros( shape , dtype , order )

ここで

  • arr には zeros() メソッドが返す結果の配列が格納されます。
  • shape` は配列のサイズと形状を決定する整数です。shape に整数値を与えると、生成される配列は1次元配列になります。一方、異なる整数値を持つ整数タプルを指定した場合は、多次元配列が生成される。
  • dtype またはデータ型は、配列の要素のデータ型を指定します。デフォルトでは float に設定されている。
  • Order は,配列がメモリ上のどこに格納されるかを, row-major (C) と column-major (F) のどちらのパターン/順序で行うかを決定します.

PythonでNumpyのzeros()を使うには?

PythonのNumpの zeros() メソッドが何をするのかがわかったところで、使い方を学びましょう。

Numpy の zeros() を使った 1 次元配列。

Pythonでは、このメソッドを使って、すべての要素が0(ゼロ)の1次元配列を作成することができます

ここでは、理解を深めるために例を挙げて説明します。

import numpy as np
 
arr1 = np.zeros(5)
print("The created array is: ",arr1) #generated array
print("It is of type:",type(arr1)) #type of array

結果は以下の通りです。

import numpy as np
 
int_array = np.zeros(4, dtype=int#data type set as int
print("Array: ",int_array) #the final int array
print("Datatype: ", int_array.dtype) # the data types

ここで、上記のコードにおいて

  • arr1 は新しく作成された配列です。見ての通り、Numpyの zeros() 関数に ‘5’ を渡しただけで、データ型も次数も指定していません。
  • デフォルトでは、 dtype と order の値はそれぞれ float と ‘C’ とみなされます。つまり、生成される配列はfloat型の要素を持ち、行頭型の形式で格納されることになります。
  • 最後に,配列をプリントアウトすると,すべての float 要素が値 0 の 1 次元配列が得られます.そして、 arr1 の type() は、それが ndarray クラスのメンバであることを示しています。

Numpyを用いた異なるデータ型の配列 zeros()

では、デフォルトの型がfloatの配列を作成しました。

もし、整数の値や要素を持つ配列が必要な場合はどうすればよいでしょうか?その場合は、 dtype パラメータに希望する型を指定することで簡単に実現できます。

import numpy as np
 
arr2 = np.zeros((3, 3), int) #2D integer array
print("2D array created is: ",arr2)
print("Type of the array: ",type(arr2)) #type of the array

出力してみましょう。

import numpy as np
 
# creating array with heterogeneous data types
arr = np.zeros((2,2), dtype=[('x', 'int'), ('y', 'float')])
print("The array created:",arr)
print("Type of the array: ",type(arr)) #type of the array
print("Datatype: ", arr.dtype) # the data types

ここで

  • int_array は zeros() メソッドで作成した新しい配列です。
  • 出力からわかるように、サイズ4のinteger型の配列が作成されます。ここでも要素のデータ型はint32.(integer)として与えられています。

Numpyを用いた多次元配列 zeros()

この記事では、以前1次元の配列を作成しましたが、多次元の配列はどうでしょうか。

ここでは、要素を0とする多次元配列の作成方法を説明するために、2次元の配列を作成してみましょう。

1 D Array Using Zeroes
1 D Array Using Zeros

結果は以下の通りです。

Data Types Using Zeroes
Data Types Using Zeros

上のコードでは

  • Numpyの zeros() メソッドに渡すのは、単一の整数ではなく、整数のタプルです。これにより、int型(指定)の多次元配列を作成することができます。
  • 出力からわかるように、すべての要素が0である2次元配列が得られます。

Numpyを用いた異種データ型の配列 zeros()

Pythonの zeros() 関数を使用して異種データ型の配列を作成することもできます。


必要な情報を含むタプルを渡すだけです。

Multidimensional Array Using Zeroes
Multidimensional Array Using Zeros

結果は以下の通りです。

Heterogeneous Data Type Array Using Zeroes
Heterogeneous Data Type Array Using Zeros

ここで

  • shapeにタプル(2,2)を渡して2次元の配列を作成しています。
  • データ型はタプルを用いて、整数型と浮動小数点型を指定しています。
  • この結果、タプル要素を持つ2次元配列が生成されます。各タプルは int 型と float 型の2つのデータを持っています。
  • 最後に、outに示すように、メンバー要素のデータ型を表示します。

まとめ

この記事では、PythonのNumpyの zeros() メソッドについて説明しました。

うまく理解できたでしょうか?何か質問があれば、下のコメント欄からお願いします。

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