見出し画像

第4話 Python便利ツールNumPyを学ぶ -インポート、配列を生成・形状変換してみたよ-

NumPyというPythonの拡張モジュール(ツール)について学んでいます。
(参考図書 「はじめてのディープラーニング」我妻幸長著 2章Phythonの概要)

NumPyの特徴は次のとおりです。
・シンプルな表記で効率的なデータ操作が可能
・多次元配列の扱いが得意
・内部はC言語で実装されているため動作が高速

なにやら凄そうです。

今回の学習内容は次の3つです。
・NumPyのインポート
・配列の作り方、配列を作る関数
・配列形状の変換

では学習に入ります。

NumPyのインポート

NumPyを使用するためには呪文を唱える必要があります。
「いでよ、NumPy!」・・・ではなくこんな感じ。

スクリーンショット 2020-03-29 5.59.27

非常に簡単ですね。
これでnpという名前でNumPyが呼び出せると。
さあこれをどう料理していくのか見ていきましょう。

NumPyの配列

ディープラーニングでは配列やベクトルを多用するらしく、それにはNumPy配列を扱うのが良いようです。
Pythonのリストやタプルではないんですね。
NumPyのarray関数を使って、簡単に配列を作ることができました。

スクリーンショット 2020-03-17 11.29.16

畳み込みニューラルネットワークではなんと6次元配列を扱うようです。
6次元ってどういうこっちゃ・・・ドラえもんの4次元ポケットを超えてるじゃん・・・。

あと配列の形状、サイズ、要素数を調べる関数もあります。
形状はshape、サイズはsize、要素数はlenです。
shapeとlenの返り値がわかりづらかったので対応を示してみました。

あ

配列を生成する関数

array関数の他にも配列を生成する関数があります。
単位行列も簡単に作れるのはイイですね。

スクリーンショット 2020-03-19 7.07.14

開始値、終了値、刻み幅を指定して配列を作れます。
グラフを書くときに便利そうですね。

スクリーンショット 2020-03-19 7.07.49

開始値、終了値、要素数を指定して配列を作ることができます。
刻み幅は自動で計算してくれるので便利です。
下の2つ目の例だと自動的に約0.2(=10÷49)の刻み幅にしてくれます。
こちらもグラフを書くときに便利そう。

スクリーンショット 2020-03-19 7.08.09

配列形状の変換 reshape

配列形状を変換するときはreshapeメソッドを使います。ただし、要素数が合っている必要があります。
reshapeはメソッドと関数で2通りの使い方ができるのですが、メソッドの方がコードがシンプルで好きです。

スクリーンショット 2020-03-19 12.33.30

1次元配列に戻すときは、引数を-1とします。
指定する引数がわからないときは-1とすれば自動的にうまくやってくれる。これはすごいです。

スクリーンショット 2020-03-19 12.38.32


今回はNumPyのインポートの仕方、配列の作り方、形状の変換を学びました。
NumPyで配列を作ったり変換したりというのは結構簡単でしたね。
次回は配列の演算などを勉強していきます。

それではまた(^_^)ノシ

よろしければサポートお願いします!いただいたサポートは書籍代等に活用いたします!