[NumPyの使い方] 1.配列のスライス

NumPy
スポンサーリンク

NumPyによる配列の抽出

スライス構文

配列の中の要素を取り出す場合は、スライスを使う。構文は以下の通り。

x[start:stop:step] #xは配列

デフォルトではstart=0, stop=配列のサイズ,step=1となっている。 

1次元配列のスライス

データの生成

In[1]: import numpy as np
x=np.linspace(0,6,7)
x
Out[1]: array([0., 1., 2., 3., 4., 5., 6.])

xをnp.linspaceで作成。x.sizeは7となる。

指定の位置から最後まで取得

In[2]: x[4:]
Out[2]: array([4., 5., 6.])

最初から指定の位置まで取得

In[3]: x[:3]
Out[3]: array([0., 1., 2.])

指定の位置から指定の位置まで取得

In[4]: x[2:6]
Out[4]: array([2., 3., 4., 5.])

1つおきに取得

In[5]: x[::2]
Out[5]: array([0., 2., 4., 6.])

逆順に取得

In[6]: x[::-1]
Out[6]: array([6., 5., 4., 3., 2., 1., 0.])

step=-1とすると、startとstopが入れ替わって、

x[stop:start:abs(step)]

となる。

逆順に1つおきに取得

In[7]: x[6::-2]
Out[7]: array([6., 4., 2., 0.])

startとstopが入れ替わっているので、6から1こ飛ばしで0に向かって取得していくことになる。

参考

Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習

コメント