第4話 Python便利ツールNumPyを学ぶ -インポート、配列を生成・形状変換してみたよ-
NumPyというPythonの拡張モジュール(ツール)について学んでいます。
(参考図書 「はじめてのディープラーニング」我妻幸長著 2章Phythonの概要)
NumPyの特徴は次のとおりです。
・シンプルな表記で効率的なデータ操作が可能
・多次元配列の扱いが得意
・内部はC言語で実装されているため動作が高速
なにやら凄そうです。
今回の学習内容は次の3つです。
・NumPyのインポート
・配列の作り方、配列を作る関数
・配列形状の変換
では学習に入ります。
NumPyのインポート
NumPyを使用するためには呪文を唱える必要があります。
「いでよ、NumPy!」・・・ではなくこんな感じ。
非常に簡単ですね。
これでnpという名前でNumPyが呼び出せると。
さあこれをどう料理していくのか見ていきましょう。
NumPyの配列
ディープラーニングでは配列やベクトルを多用するらしく、それにはNumPy配列を扱うのが良いようです。
Pythonのリストやタプルではないんですね。
NumPyのarray関数を使って、簡単に配列を作ることができました。
畳み込みニューラルネットワークではなんと6次元配列を扱うようです。
6次元ってどういうこっちゃ・・・ドラえもんの4次元ポケットを超えてるじゃん・・・。
あと配列の形状、サイズ、要素数を調べる関数もあります。
形状はshape、サイズはsize、要素数はlenです。
shapeとlenの返り値がわかりづらかったので対応を示してみました。
配列を生成する関数
array関数の他にも配列を生成する関数があります。
単位行列も簡単に作れるのはイイですね。
開始値、終了値、刻み幅を指定して配列を作れます。
グラフを書くときに便利そうですね。
開始値、終了値、要素数を指定して配列を作ることができます。
刻み幅は自動で計算してくれるので便利です。
下の2つ目の例だと自動的に約0.2(=10÷49)の刻み幅にしてくれます。
こちらもグラフを書くときに便利そう。
配列形状の変換 reshape
配列形状を変換するときはreshapeメソッドを使います。ただし、要素数が合っている必要があります。
reshapeはメソッドと関数で2通りの使い方ができるのですが、メソッドの方がコードがシンプルで好きです。
1次元配列に戻すときは、引数を-1とします。
指定する引数がわからないときは-1とすれば自動的にうまくやってくれる。これはすごいです。
今回はNumPyのインポートの仕方、配列の作り方、形状の変換を学びました。
NumPyで配列を作ったり変換したりというのは結構簡単でしたね。
次回は配列の演算などを勉強していきます。
それではまた(^_^)ノシ
よろしければサポートお願いします!いただいたサポートは書籍代等に活用いたします!