python PR

【python】Numpyの使い方講座①:ndarrayを生成してみよう!

記事内に商品プロモーションを含む場合があります
えいせい
えいせい
ど~も!データサイエンティストのえいせいです。

このブログではデータサイエンスに関わる情報を発信しています。

今回からデータ分析、機械学習に必須のnumpyの使い方講座を開催します。
まず第一回目は、numpyの概要と、ndarrayの生成方法を解説します。
まず、ndarrayが何なのか?その点を理解しないと進みませんからね!

この講座では全てサンプルコードを記載してあります。
各々のpythonの環境で実際に手を動かしながら読み進める事を推奨しています。

サクッとやりたい方は、google colaboratoryが簡単でおすすめです。

 

Numpyとは何か?

NumPy(Numerical Python)は、Pythonで数値計算やデータ分析を行うためのライブラリであり、多次元配列や行列計算などの機能を提供します。
Pythonに組み込まれているリストでは、大量のデータの処理には向いておらず、処理時間がかかることがあります。NumPyの多次元配列(ndarray)を使用することで、高速な数値計算が可能になります。

Numpyの機能

NumPyは、科学技術計算などの数値計算に必要な機能が豊富であり、主に以下のような機能を提供しています。

  • 配列操作(要素の追加、削除、スライスなど)
  • ブロードキャスト(異なる形状の配列間の演算)
  • 乱数生成
  • 線形代数(行列演算、固有値、特異値分解など)
  • フーリエ変換
  • 集計処理(sum、mean、max、minなど)

NumPyは、データ分析、機械学習、画像処理など、さまざまな分野で利用されており、その性能の高さから、多くの人々に使われています。

 

Numpyのインストール方法

NumpyはPythonに最初から標準でインストールされていないため、別途インストールが必要な場合があります。

pandasやseabornなどのパッケージもそうですが、Pythonではメモリの関係で全てのモジュールがインストールされているわけではありません。
必要な物だけ適宜インストールしていきます。

ちなみに最初に紹介したgoogl Colaboratoryでは既にインストールされていたりと、お使いの環境によっては必要ない事もあります。

もし、インストールされていなかったら、下記のコマンドを叩くだけですので非常に簡単です。

 

続いてimportしよう

importはどの環境でも必要になってきます。
この作業を行うことで、Numpyを利用できる様になります。

これも簡単で、下記のおまじないを唱えるだけです。

as以降でリネームを行っており、「np」と名付けています。
このあとは「np.」と書く事でnpの機能を使う事が出来る様になります。

ちなみにnpではなく、他に好きな単語を使っても大丈夫ですが、npとするのが一般的ですのでそうしましょう!

えいせい
えいせい
これでNumpyを自由に使える様になりました!

 

ndarrayとは何か?

「ndarray」とは、多次元配列オブジェクトのことを指します。
多次元配列とは、行列やテンソルなどのように、複数の次元を持った配列のことです。

行列を覚えていますか?

高校や大学時代に行列を勉強した人もいると思いますが、もう忘れちゃったという人の為に簡単に説明します。

  • 行列とは数値を2次元の配列に整理したもの
  • 行と列によって構成され、通常、n行m列の形式で表される
  • 行列は複数の値を同時に扱うことができる

↓こんな感じのものです。
\begin{pmatrix}
2 & 3 & 4\\
3 & 4 & 5\\
4 & 5 & 6
\end{pmatrix}

 

ndarrayである事の良さ

ではこの行列形式のndarrayにする嬉しさの部分をみてみましょう。
大きく分けると以下の部分です。

  • Python標準のリストよりも高速
  • メモリ使用量が少ない
  • 大量のデータを効率的に扱える
  • 演算や操作には、様々なメソッドや関数が用意されている

このように、行列を簡単に演算したり操作したり出来るようになるので、データサイエンスでは非常に重要です。

行列の演算に関しては次回の講座で詳しく解説します。

 

ndarrayの生成方法

ndarrayを作る方法は様々です。
代表的なのが↓のです。

  • リストから生成する方法
  • np.zeros()やnp.ones()を使用する方法
  • np.arange()を使用する方法
  • np.randomを使用する方法

それぞれの方法を見ていきましょう。

 

リストからndaaryを作成

リストをndarrayに変換するには、NumPyのarray()関数を使用します。
例えば、以下のようにします。

array([1, 2, 3, 4, 5])

簡単に1行5列のarrayができました。
3行3列のarrayにするにはリストを入れ子にしましょう。

array([[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]])

 

np.zeros()やnp.ones()を使用する方法

np.zeros()関数は、すべての要素が0のndarrayを生成します。
同様に、np.ones()関数は、すべての要素が1のndarrayを生成します。
例えば、以下のようにします。

array([[0., 0., 0.],
          [0., 0., 0.]])

全ての要素が0のゼロ行列ができました。
でもこれってなんの役にたつの?って疑問に思いますよね?

ゼロ行列は行列の乗算、行列の初期化、ランクの計算などで使用されます。

続いてnp.ones()です。

array([[1., 1.],
          [1., 1.],
[1., 1.]])

全ての要素が1の全1行列ができました。
これは、ニューラルネットワークなどの重みの初期化などで使われます。

 

np.arange()を使用する方法

np.arange()関数は、指定された範囲の整数を含むndarrayを生成します。
グラフのプロットなどで使われます。
以下のようにして作成します。

array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

 

np.randomを使用する方法

np.randomを使用して、ランダムな値のndarrayを生成することもできます。
例えば、以下のようにします。

array([[0.61942876, 0.86531578],
[0.17264794, 0.26334744],
[0.74340098, 0.70446494]])

ランダムな要素をもつndarrayが作成されました。
もちろん毎回実行する度に要素の値は変動します。

 

まとめ

今回もお疲れ様でした。
最後にまとめを振り返りましょう。

  • 「ndarray」とは、多次元配列オブジェクトのこと
  • 「import as numpy as np」でインポート
  • ndarrayの生成方法
    • リストから生成する方法
    • np.zeros()やnp.ones()を使用する方法
    • np.arange()を使用する方法
    • np.randomを使用する方法

numpyはデータサイエンティストにとって必須ですからね。
しっかりと覚えましょう!

numpyの概要は↓からどうぞ!

Pythonでデータ分析をするなら必須のnumpyとは?

 

Work illustrations by Storyset

あなたにおススメの記事