※この記事にはプロモーションが含まれています。

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

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

更新日:

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

 

動画教材紹介私(清水 義孝)が作成したコース「Pythonによるビジネスに役立つWebスクレイピング」(Udemyへのリンク)が発売中!
発売数8,500本突破を記念して、今だけ期間限定で87%オフの大セール中!!!

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

 
 
 

動画教材紹介私(清水 義孝)が作成したコース「Pythonによるビジネスに役立つWebスクレイピング」(Udemyへのリンク)が発売中!
発売数8,500本突破を記念して、今だけ期間限定で87%オフの大セール中!!!

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

 
 
著書の紹介です。

 

 
 
 
最後に...


Pythonの学習においては、実際に様々なプログラムを書いて試していくことが非常に重要です。Pythonについて、さらに詳しく学ばれたい方は、以下の私のUdemy講座をご検討いただければ幸いです。


Pythonを用いて世界中のWebサイトから自動的にデータ収集する方法を、基礎からていねいに学ぶことができます。Pythonを初めて学ばれた方も、最初に取り組みやすい内容になっています。


>> Pythonによるビジネスに役立つWebスクレイピング
発売数8,500本突破を記念して大セール中!期間限定になりますのでお早めに。
Pythonによるビジネスに役立つWebスクレイピング(BeautifulSoup、Selenium、Requests)講座の画面

既に8,500名以上の方に受講頂き、大変好評です。またコースに満足いただけない場合でも、30日返金保証があるので安心です。

期間限定の割引クーポンは、こちらから!
>> Pythonによるビジネスに役立つWebスクレイピング
   
   





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

Copyright© ビジPy , 2024 All Rights Reserved.