NumPyのarrayはリストを拡張したクラスで、要素演算子[]に非常に多様な使い方がある。なのでここでまとめて置こうと思う。
数字を指定する
基本的にリストと同様の使い方ができる。
2次元配列
# 1つだけ取り出す
myarray = xx[10,13]
# 0行目から10行目を取り出す
myarray = xx[0:10,:]
# 2列目から4列目を取り出す
myarray = xx[:,2:4]
配列を入れる
リストやタプルで取り出す成分を複数指定することもできる。結果は1次元で返ってくる。
# yyにある第(0,1),(1,2)成分を取り出す
yy = [[0,1],[1,2]]
myarray = xx[yy]
条件式を入れる
条件式を入れることで、条件を満たす要素を取り出すことができる。結果は1次元で返ってくる。
# 0.5以上の要素を返す
myarray = x[x>0.5]
参考サイト
- Numpyのファンシーインデックス(Fancy Index)で配列を自由に操作する
https://qiita.com/python_walker/items/a0b337b05b458644eb33
こういう操作はファンシーインデックスと言うらしい。