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

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

更新日:

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

 

動画教材紹介私(清水 義孝)が作成したコース「Pythonによるビジネスに役立つWebスクレイピング」(Udemyへのリンク)が新発売!今なら期間限定で89%オフ!!!

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])

 
 

動画教材紹介私(清水 義孝)が作成したコース「Pythonによるビジネスに役立つWebスクレイピング」(Udemyへのリンク)が新発売!今なら期間限定で89%オフ!!!

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. ])

 
 
著書の紹介です。

 






まとめ記事

1

Python3におけるWEBスクレイピングのやり方について初心者向けに解説した記事です。   Requests、Beautiful Soup、Selenium、Pandas、newspape ...

2

Pythonの基本的なトピックについて、チュートリアル形式で初心者向けに解説した記事です。プログラミング未経験者や初心者でもわかりやすいよう、丁寧に解説しています。   Pythonでデータ ...

3

Pandas(パンダス)とは、データを効率的に扱うために開発されたPythonのライブラリの1つで、データの取り込みや加工・集計、分析処理に利用します。   Pandasには2つの主要なデー ...

4

データ分析、機械学習、ディープラーニングにはグラフの描画による可視化は不可欠です。データは、加工前の状態ではただの数字の羅列でしかなく、一目で必要な情報が伝わるものではありません。それを集計しグラフに ...

5

NumPy(ナンパイ)は、数値計算を効率的に行うための拡張ライブラリです。ベクトルや行列などを効率的に数値計算するための数学関数ライブラリを提供します。NumPyを使うことにより、数値計算をより早く、 ...

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

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