ぺーぱーの日々

上機嫌でいること、夢中でいることを目標に、今日も色んなことに手を出します。

MENU

【Numpy】[:, 0]って、どういう意味?

はじめに

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]

参考サイト

[:,0]や[:,1]の書き方の意味