SciPy基礎機能
11529 ワード
章
SciPy紹介SciPyインストールSciPy基礎機能SciPy特殊関数SciPy k平均クラスタリングSciPy定数SciPy fftpack(フーリエ変換)SciPyポイントSciPy補間SciPy入出力SciPy線形代数SciPy画像処理SciPy最適化SciPy信号処理SciPy統計デフォルトでは、すべてのNumPy関数はSciPy(ネーミングスペース)で使用できます.SciPyをインポートする場合、NumPy関数を明示的にインポートする必要はありません.NumPyの主なオブジェクトはn次多次元配列ndarrayであり,SciPyはndarray配列の上に構築され,ndarrayは単一データ型を格納する多次元配列である.NumPyでは次元を軸,座標軸の数をランクと呼ぶ.
通常,線形代数は主に行列演算を扱うが,次に,NumPyにおけるベクトル/配列と行列の基本機能を復習する.
NumPy ndarray配列
ndarrayはNumPyの中で最も重要なクラスです.
標準のPythonリスト(list)では、要素はオブジェクトです.たとえば、L=[1,2,3]では、3つのポインタと3つの整数オブジェクトが必要であり、数値演算にはリソースが浪費されます.
これとは異なり、ndarrayの要素は元のデータとして直接格納され、要素のタイプはndarrayオブジェクトの属性dtypeによって記述されます.
ndarray配列の要素がインデックスまたはスライスで返されると、dtypeに従って元のデータからPythonオブジェクトに変換され、外部で使用されます.
例
Pythonクラス配列オブジェクトをNumPy配列に変換
しゅつりょく
NumPy配列の作成
NumPyでは、以下に説明する組み込み関数を使用してndarrray配列を作成できます.
zeros()
例
しゅつりょく
ones()
しゅつりょく
arange()
例
しゅつりょく
配列のデータ型
データ型オブジェクトdtypeは、配列内の要素データ型を記述するオブジェクトです.
例
しゅつりょく
linspace()
例
しゅつりょく
マトリックス
行列は特殊な2次元配列で、*(行列乗算)や**(行列べき乗)などの特殊な演算子があります.
例
しゅつりょく
マトリックスてんい
行列の行列を交換して得られる新しい行列を,転置行列と呼ぶ.
例
しゅつりょく
マトリックスの共役転置
共役とは,行列の各要素が共役(複素の実部は変わらず,虚部は負)をとることである.
共役転置とは、まず共役を取り、それから転置を取ることである.
例
しゅつりょく
たんいマトリクス
単位行列は行列の乗算において、数の乗算の1のように特殊な役割を果たす.単位行列は個行列であり,左上から右下にかけての対角線(主対角線と呼ぶ)上の要素はいずれも1であり,それ以外はすべて0である.
例
単位行列を作成するには、次の手順に従います.
しゅつりょく
ぎゃくマトリクス
逆行列の数学的定義:行列Mおよび行列Nが存在し、M*N=行列I(Identify Matrix単位行列)の場合、行列Mと行列Nは互いに逆行列である.
例
行列の逆行列を求めます:
しゅつりょく
SciPy紹介SciPyインストールSciPy基礎機能SciPy特殊関数SciPy k平均クラスタリングSciPy定数SciPy fftpack(フーリエ変換)SciPyポイントSciPy補間SciPy入出力SciPy線形代数SciPy画像処理SciPy最適化SciPy信号処理SciPy統計デフォルトでは、すべてのNumPy関数はSciPy(ネーミングスペース)で使用できます.SciPyをインポートする場合、NumPy関数を明示的にインポートする必要はありません.NumPyの主なオブジェクトはn次多次元配列ndarrayであり,SciPyはndarray配列の上に構築され,ndarrayは単一データ型を格納する多次元配列である.NumPyでは次元を軸,座標軸の数をランクと呼ぶ.
通常,線形代数は主に行列演算を扱うが,次に,NumPyにおけるベクトル/配列と行列の基本機能を復習する.
NumPy ndarray配列
ndarrayはNumPyの中で最も重要なクラスです.
標準のPythonリスト(list)では、要素はオブジェクトです.たとえば、L=[1,2,3]では、3つのポインタと3つの整数オブジェクトが必要であり、数値演算にはリソースが浪費されます.
これとは異なり、ndarrayの要素は元のデータとして直接格納され、要素のタイプはndarrayオブジェクトの属性dtypeによって記述されます.
ndarray配列の要素がインデックスまたはスライスで返されると、dtypeに従って元のデータからPythonオブジェクトに変換され、外部で使用されます.
例
Pythonクラス配列オブジェクトをNumPy配列に変換
import numpy as np
list = [1,2,3,4]
arr = np.array(list)
print (arr)
print (type(arr))
しゅつりょく
[1 2 3 4]
<class 'numpy.ndarray'>
NumPy配列の作成
NumPyでは、以下に説明する組み込み関数を使用してndarrray配列を作成できます.
zeros()
zeros()
関数は配列を作成し、配列要素の値を0に初期化し、配列形状とデータ型を指定します.例
import numpy as np
print (np.zeros((2, 3)))
しゅつりょく
[[0. 0. 0.]
[0. 0. 0.]]
ones()
ones()
関数は配列を作成し、配列要素の値を1に初期化し、配列形状とデータ型を指定します.例import numpy as np
print (np.ones((2, 3)))
しゅつりょく
[[1. 1. 1.]
[1. 1. 1.]]
arange()
arange()
関数は増分配列を作成します.例
import numpy as np
print (np.arange(7))
しゅつりょく
[0 1 2 3 4 5 6]
配列のデータ型
データ型オブジェクトdtypeは、配列内の要素データ型を記述するオブジェクトです.
例
import numpy as np
arr = np.arange(2, 10, dtype = np.float)
print (arr)
print (" :", arr.dtype)
しゅつりょく
[ 2. 3. 4. 5. 6. 7. 8. 9.]
: float64
linspace()
linspace()
関数は、指定した区間内で均一に分布する値を含む配列を作成します.例
import numpy as np
print (np.linspace(1., 4., 6))
しゅつりょく
[1. 1.6 2.2 2.8 3.4 4. ]
マトリックス
行列は特殊な2次元配列で、*(行列乗算)や**(行列べき乗)などの特殊な演算子があります.
例
import numpy as np
print (np.matrix('1 2; 3 4'))
しゅつりょく
[[1 2]
[3 4]]
マトリックスてんい
行列の行列を交換して得られる新しい行列を,転置行列と呼ぶ.
例
import numpy as np
mat = np.matrix('1 2; 3 4')
mat.T
しゅつりょく
matrix([[1, 3],
[2, 4]])
マトリックスの共役転置
共役とは,行列の各要素が共役(複素の実部は変わらず,虚部は負)をとることである.
共役転置とは、まず共役を取り、それから転置を取ることである.
例
import numpy as np
mat = np.matrix('1 2; 3 4')
print (mat.H)
しゅつりょく
matrix([[1, 3],
[2, 4]])
たんいマトリクス
単位行列は行列の乗算において、数の乗算の1のように特殊な役割を果たす.単位行列は個行列であり,左上から右下にかけての対角線(主対角線と呼ぶ)上の要素はいずれも1であり,それ以外はすべて0である.
例
単位行列を作成するには、次の手順に従います.
import numpy.matlib
import numpy as np
print (np.matlib.identity(5))
しゅつりょく
[[1. 0. 0. 0. 0.]
[0. 1. 0. 0. 0.]
[0. 0. 1. 0. 0.]
[0. 0. 0. 1. 0.]
[0. 0. 0. 0. 1.]]
ぎゃくマトリクス
逆行列の数学的定義:行列Mおよび行列Nが存在し、M*N=行列I(Identify Matrix単位行列)の場合、行列Mと行列Nは互いに逆行列である.
例
行列の逆行列を求めます:
import numpy as np
mat = np.matrix('1 2; 3 4')
mat2 = mat.I
print(mat2)
しゅつりょく
[[-2. 1. ]
[ 1.5 -0.5]]