はじめに
kaggleのこちらをやっていたときに、
val_preds[:,0]
こんなコードが出てきました。なんとなく、
- []があるからスライスしているんだな
- スライスしてるってことは、一部を取り出してるんだな
- 0が良くわからん!
という印象を受けました。
そこで、今回は[:, 0]の占める意味、どんな使い方ができるのかを、まとめようと思います。
やりたいこと
-
[:, 0]の意味を知る
-
[:, 0]を使いこなす
[:, 0]の意味
numpy行列(ndarray)からn列目の要素すべてを取得する
これだけだと意味がわからないので、例を使って。
[:, 0]の実例
例えば、[[1 2 3] [4 5 6] [7 8 9]]
という2次元配列があるとして、
各配列の先頭(インデックス0番目)の値を取得したい。
つまり、1、4、7を取り出したいときに使うのが、[:, 0]
配列の先頭の値を取得
import numpy as np
arr = np.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]])
print(arr[:, 0])
実行結果
[1, 4, 7]
[:, 0]の0を1,2にしたら、配列の中身の真ん中、後ろの値をすべて取得できます。
各配列の先頭の値をすべて取得
arr = np.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]])
print(arr[:, 1])
出力結果
[2 5 8]
各配列の真ん中の値をすべて取得
arr = np.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]])
print(arr[:, 2])
実行結果
[2 5 8]
各配列の最後の値をすべて取得
arr = np.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]])
print(arr[:, 2])
出力結果
[3 6 9]
参考サイト