16. NumPyでベクトル・行列計算

NumPyでの連続した配列の自動作成(arange、reshape、linspaceなど)

更新日:

データ分析や機械学習では、ある一定のルールに基づいて作成された連続した配列が必要になる時があります。NumPyではこれらの配列を自動作成する方法がいくつかあります。この記事では、NumPyでの連続した配列の自動作成方法を初心者向けに解説していきます。

 

著書紹介(清水 義孝)

好評発売中!!

NumPy arangeによる増減量を指定しての配列の自動作成

NumPyではarangeを利用して、ndarray型の連続した配列を作成することができます。arangeに対しては、開始値、終了値、増減量を引数として渡してあげると、その法則に則った数値を含むリストを自動的に作成してくれます。

numpy.arange([開始値,] 終了値 [, 増減量])

開始値、増減量は省略することも可能です。その場合は、開始値は0、増減量は1とみなされます。また終了値はインデックスと同様、その数値は含まれません。

 

0から9まで1ずつ増加した整数を要素として含む配列を作成する場合、開始値に1、終了値に10、増減量に1を指定します。開始値、増減量は以下のように省略することもできます。

In [1]: np.arange(10)
Out[1]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

 

次に10から49までの間で5ずつ増加した整数を含む配列を作成します。

In [2]: np.arange(10,50,5)
Out[2]: array([10, 15, 20, 25, 30, 35, 40, 45])

 
 

著書紹介(清水 義孝)

好評発売中!!

NumPy reshapeによる自動作成した配列の形状変換

またreshapeを利用して、自動作成した配列の形状を変換することもできます。reshapeには引数として、変換したい配列の形状を指定します。例えば、0から19までの数値の配列を自動作成し、その配列を4×5行列に変換したい場合、reshapeへ引数 (4,5)を渡します。

In [3]: np.arange(20).reshape((4,5))
Out[3]: array([[ 0, 1, 2, 3, 4],
                      [ 5, 6, 7, 8, 9],
                      [10, 11, 12, 13, 14],
                      [15, 16, 17, 18, 19]])

 
 
 

著書紹介(清水 義孝)

好評発売中!!

NumPy linespaceによる要素数を指定しての配列の自動作成

arangeは指定した区間に、指定した間隔で自動的に数値を配列として生成する関数ですが、一方で指定した区間に、等間隔で指定要素数の配列を生成したい場合があります。その場合linespaceを利用します。

numpy.linspace(開始値, 終了値 [, 配列の要素数])

配列の要素数は省略することも可能です。その場合は、50とみなされます。また終了値はインデックスと異なり、その数値も含まれます。

 

例えば、0から10の区間で5個の要素からなる配列を作成するには、次のように記述します。

In [4]: np.linspace(0, 10, 5)
Out[4]: array([ 0. 2.5 5. 7.5 10. ])

 
 
著書の紹介です。

 

-16. NumPyでベクトル・行列計算

Copyright© AI-interのPython3入門 , 2019 All Rights Reserved.