レッスン2 / 4問目

『スライスによる参照』

このレッスンではスライスでの参照について学習していきましょう。

これまでのレッスンではリストや文字列に対してスライスを使用してきましたが、NumPyの配列でもスライスを使うことができます。

早速ですが例題をみていきます。例題には以下の5 × 4の配列を使います。

[[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11], [12, 13, 14, 15], [16, 17, 18, 19]]

ではこの配列の下記赤枠部分をスライスを使って参照します。

[[ 0, 1, 2, 3], [ 4, 5, 6, 7],
[ 8, 9, 10, 11], [12, 13, 14, 15],
[16, 17, 18, 19]]

2次元配列でスライスを行う場合は、 ndarray[行のスライス, 列のスライス] のように一つの角括弧にコンマ区切りで行と列のスライスを指定します。

  1. print(arr[2:4, :])   # 2~3行目を参照
[[ 8, 9, 10, 11], [12, 13, 14, 15]]

スライスでコロンのみを記述した場合、列を全て指定したことになります。

次は以下の赤枠部分をスライスします。

以下のように配列の行と列をそれぞれスライスで指定します。

  1. print(arr[:, :-1])   # 0~3列目を参照
[[ 0, 1, 2], [ 4, 5, 6], [ 8, 9, 10], [12, 13, 14], [16, 17, 18]]

このようなスライスによるデータの整形は機械学習の前処理でもよく使いますので覚えておきましょう。

レッスンは以上となります。

では練習問題にチャレンジしてみましょう。

Lesson1

配列arrから以下の要素を抽出し出力してください。

NumPyの配列の画像

Lesson2

配列arrから以下の要素を抽出し出力してください。

NumPyの配列の画像

Last updated:2019/10/28

[[ 1  2]
 [ 5  6]
 [ 9 10]
 [13 14]]
[ 3  7 11 15 19]
  1. import numpy as np

  2. arr = np.arange(20).reshape(5, 4)

  3. # 1. 指定した要素を出力してください。

  4. arr1 = arr[:4, 1:3]
  5. print(arr1)

  6. # 2. 指定した要素を出力してください。

  7. arr2 = arr[:, -1]
  8. print(arr2)
main.py
設定
g
n
i
d
a
o
L