【PR】

プログラミング

Numpyのインデックス参照、スライス、ビューについて【エンジニアメモ】

 

歩き慣れたいつもの道中に、だいぶ弱った鷲が横たわっていたので、5分ほど見つめ合っていたのですが、動物病院に連絡するのもなんか違うなと思いその場を後にしました。

 

 

NumPyは、多次元配列を基本的なデータ構造として操作するライブラリです。

そのため、NumPyにはPythonのリストを使った演算ではなく、効率性などからndarrayという独自のデータ構造を使います。

 

NumPyは最適化された多次元配列をサポートし、最先端のアルゴリズムのデータ構造を使用しています。

 

 

インデックス参照

まずは、必要なNumPyのモジュールをインポートします。

f:id:at25250410:20180815134510p:plain

次に、データを準備します。

以下のように、0~9までの配列を作り、その変数名をsample_arrayとします。

f:id:at25250410:20180815134708p:plain

 

スライスとは、リストや文字列やタプル、NumPy配列などから、一部分を選択して取得したり別の値を代入したりすることです。

次の画像に、簡単なスライスの例があります。

 

f:id:at25250410:20180815135600p:plain

 

要素数10の元の配列から、前半の5つの要素を抽出しています。[0:5]は、0~5までという意味です。

 

boolインデックス参照

次は、ブールインデックス参照です。

boolとは、TrueオアFalseことで、boolを利用した、データ操作についてみていきましょう。

 

まずは、a, b, c, dの文字列が入ったNumPy配列と、5行5列の乱数配列を準備します。

 

f:id:at25250410:20180815142648p:plain

 

以下のように、

 

sample_names == 'a'

 

と書くと、sample_namesにある文字からaを探し、aがあればTrue無ければFalseを返します。

 

f:id:at25250410:20180815142842p:plain

 

また、以下のように

 

data[sample_names == 'a']

 

と書くと、この場合のsample_names == 'a'は、True, False, False, False, Trueなので、dataの1行目と、5行目のみ表示します。

 

f:id:at25250410:20180815143113p:plain

 

Numpyを学ぶのにおすすめの本




  • この記事を書いた人
  • 最新記事

電脳ヨーグルト

エンジニア男子大学生。飲むヨーグルトが好きです。人とのコミュニケーションが苦手な僕のアルバイトの体験談などを語っています。おすすめのプログラミングスクールの記事も自信作なので、ぜひ読んでもらいたいです。

-プログラミング