import numpy as np
#Creating sample array
arr = np.arange(0,11)
#Show
arr
# 添え字を使ったアクセス
arr[8]
# 1から5の手前まで。
arr[1:5]
# 0から5の手前まで
arr[0:5]
# スライスは参照が返ってくるので、同時に導入出来ます。
arr[0:5]=100
#Show
arr
# ちょっとリセットしておきましょう。
arr = np.arange(0,11)
arr
# 6の手前までのスライス
slice_of_arr = arr[0:6]
slice_of_arr
# スライスを変更(すべての要素)
slice_of_arr[:]=99
slice_of_arr
# 最初のアレイを見てみましょう。
arr
# コピーはされてないんです。
# では、データ自体をコピーするにはどうしたらよいでしょうか?
arr_copy = arr.copy()
arr_copy
# 2次元アレイの添え字
arr_2d = np.array(([5,10,15],[20,25,30],[35,40,45]))
arr_2d
# 行を取り出す。
arr_2d[1]
arr_2d[0]
# 個別の要素にアクセスするには、arr_2d[row][col] or arr_2d[row,col]
# たとえば、こんな感じ
arr_2d[1][0]
# 別の書き方もあります。
arr_2d[1,0]
arr_2d
# 2次元アレイのスライス
#右上の2x2アレイ
arr_2d[:2,1:]
# 最後の行
arr_2d[2]
#Shape bottom row
arr_2d[2,:]
# 便利な添え字操作を体験
# 10x10のアレイを用意
arr2d = np.zeros((10,10))
arr2d
#アレイの長さ
arr_length = arr2d.shape[1]
for i in range(arr_length):
arr2d[i] = i
arr2d
# 偶数行だけを取り出す便利な添え字
arr2d[[2,4,6,8]]
# 順番を変えることも可能です。
arr2d[[6,4,2,7]]