プログラム一覧に戻る
import numpy as np
arr = np.arange(3, 15).reshape(4, 3) # 4行3列のndarrayを生成し、arrという名前を付ける
print(arr) # [[3 4 5] [6 7 8] [9 10 11] [12 13 14]] が出力される
print(arr.size) # 12 が出力される
print(arr.shape) # (4, 3) が出力される
# 配列の中の1つの要素へのアクセス
print("access to a single element")
print(arr[0, 0]) # 3 (0行0列目の要素)が出力される (行インデックスと列インデックスをカンマで区切って指定)
print(arr[2, 1]) # 10 (2行1列目の要素)が出力される
print(arr[-1, -3], arr[arr.shape[0] - 1, arr.shape[1] - 3])
# ↑ 12 が2つ出力される (負の整数で指定すると後ろから数えた列数、行数の指定になる)
# 配列の中の一部分へのアクセス
print("slicing of 2d array")
print(arr[:, :]) # [[3 4 5] [6 7 8] [9 10 11] [12 13 14]] が出力される (print(arr) と等価)
print(arr[1, :]) # [6 7 8]] が出力される(1次元ndarray)
print(arr[:1, :]) # [[3 4 5]] が出力される(2次元ndarray)
print(arr[1:, :]) # [[6 7 8] [9 10 11] [12 13 14]] が出力される
print(arr[:, :2]) # [[3 4] [6 7] [9 10] [12 13]] が出力される
print(arr[:, 2:]) # [[5] [8] [11] [14]] が出力される
print(arr[1:, 2:]) # [[8] [11] [14]] が出力される
print(arr[:1, 1:]) # [[4 5]] が出力される