NumPyとは?
なむぴー?なむぱい?
ナムパイ、ナンパイが正解らしい
NumPy
は、行列、ベクトル、多次元配列を効率よく処理できるライブラリ!
Pythonだけでも辞書、リストとかで割と柔軟にデータを扱えるけど、実際のデータ量を相手にすると速度面で無謀なんだって...
(数ⅢCやってない文系出身の私は「行列」とか聞くと、スッと理解できるか不安・・・^^;)
pandasのベースのライブラリとされているので、データ分析の際に一緒に使われることが多い
しかも使い方もpandasと似ている
まぁなにはともあれ...
触ってみよう
内容が内容なので少しずつまとめていく
今回はNumPyを使ってリストから多次元配列を作る、そしてそのプロパティを知るところまで見る
リストから多次元配列を作る
なぜ速くなるのか
np.array()
で作られたデータは numpy.ndarray
という型になっている
ndarrayは要素を全て同じ型で持つことによって処理速度を速めている
ndarrayの持つプロパティ
-
ndim
- 次元数を返す
-
shape
- 各次元のサイズをタプルで返す 2次元配列なら (行数, 列数)
-
size
- 要素数
-
reshape
- 配列を指定した次元(行数、列数など)で作り直した配列を返す
reshapeの多次元から多次元への変換は感動度が高いな〜 楽チン
ndarrayの持つプロパティ 難易度アップ
-
T
- 転地。行と列を入れ替えた配列を返す。3次元以上でも使える。 (Tだけ!?w)
-
itemsize
- 1要素のバイト数を返す
-
nbytes
- 多次元配列全体のバイト数を返す (ネーミング揃えてよ!)
感想
行列、テンソルを頭で考えようとするとぐちゃぐちゃになってきそう・・・
まだなんか多次元の配列作ってるなぁ程度だけど、行列とかの考え方に慣れてきてないから難しそう〜〜
細切れにちょっとずつ進めよう