Numpyのスライシング
NumpyのスライスはPythonのリストのスライスと少し違った方法で行えます。
Pythonのリストとndarayの本質的な違いは、スライスが元のndarayのビューであ流ことです。つまりコピーではないということに注意する必要があります。
array1 = np.arange(9) print(array1) array1 = array1.reshape(3,3) array1
結果
[0 1 2 3 4 5 6 7 8]
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
個別の要素を取り出し
array1[0][2]
結果
2
Numpyでは通常次のコードのような記述をします。
これは、最初の行の要素から2列目の値を指定しています。
array1[0,1]
結果
1
複数の値をスライス
カンマの前の値が行、後が列です。
コロン(:)は範囲を表します。
array1[0:2,0:2]
結果
array([[0, 1],
[3, 4]])
コロン(:)の前後に数値がないと最初から最後までの意味です。
array1[:,0]
結果
array([0, 3, 6])
array1[:,:]
結果
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
参考になった書籍
機械学習入門時には、難しいし、リファレンスとしても使いにくいなどであまり活用しなかったが、特徴量エンジニアリングが必要になるくらいから途端にありがたい書籍になった。Pandasの作者自ら書いた本でNumpyやPandasの使い方が詳細に書かれている。
Pythonサンプルのダウンロード
ここでダウンロードする「numpy_lesson.ipynb」ファイルは、このPython動画で使用したものです。
コメントを投稿するにはログインしてください。