LogoMark.png

NumPy

NumPy

https://numpy.org/

NumPy は多次元配列を効率的に扱うためのライブラリです。 科学技術計算や機械学習など、ベクトルや行列の演算が多用される分野では事実上の標準です。

Pythonには、組み込み型の list、標準ライブラリの配列 array が用意されていますが、NumPy が扱うのは numpy.ndarray 型という別物です。

はじめに

NumPyのインストールとインポート

Python 言語のライブラリとしてのインストールになるので、一般の Python3 の環境であれば、Terminalから以下のコマンドでインストールできます。

$ pip3 install numpy

import する際は、以下のように np という名称を与えるのが一般的です。

import numpy as np

Google Colaboratory では Jupyter Notebook で利用できるライブラリーが「すべてインストール済み」という前提なので、ローカル環境での作業のように、必要なライブラリのインストールを行う必要はなく、コードセルに import 文を書くだけで使うことができます。



配列の定義

NumPyが扱う配列は numpy.ndarray という特殊なデータ型になります。

arr = np.array( [1,2,3] )    # リストから配列作成
print( arr )
>[1 2 3]
print( arr[1] )
>2
np.array( [ [1,2] , [3,4] ] )  # 2次元配列の構築
print( arr )
>[[1 2]
  [3 4]]




ndarray の生成

numpy.arrange()

arr = np.arange( 3 )     # range(N) に対応する配列
print( arr )
> [ 0 1 2 ]
arr = np.arrange( 0, 1, 0.2 ) # start, stop, step の順に指定
print( arr )
> [ 0.0  0.2  0.4  0.6  0.8 ]




演算

行列の和

arr1 = np.array( [ [1, 2] ,  [3, 4] ] )
arr2 = np.array( [ [1, 0] ,  [0, 1] ] )
print( arr1 + arr2 )
>[ [2 2]
   [3 5] ]


行列の積

arr1 = np.array( [ [1, 2] ,  [3, 4] ] )
arr2 = np.array( [ [1, 2, 3] , [4, 5, 6] ] )
print( np.dot( arr1, arr2 ) )
>[ [ 9 12 15]
   [19 26 33] ]


ユニバーサル関数の利用

NumPy ndarrayでは、ユニバーサル関数と呼ばれる専用の組み込み関数の利用によって、配列の全要素に対して一挙に計算することができます。配列の全要素に対してループ処理を行う必要がないので、コードがシンプルになります。

以下の例では、区間 [ 0 〜 20 ) の 0.1 刻みの x の値に対して、関数 \( y = cos(x) \) の計算を一挙に行っています。matplotlib.pyplot の plot関数は、x,y の組み合わせをグラフにしてくれます。

cos.png
import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0, 20, 0.1)
y = np.cos(x)

plt.plot(x,y)
plt.show()






PAGES

GUIDE

DATA

添付ファイル: filecos.png 39件 [詳細]
Last-modified: 2023-02-03 (金) 16:32:30