Skip to article frontmatterSkip to article content

11-01. NumPyの配列操作:インデックス,スライス

01-01. 配列

# 01-01. 配列
import numpy as np
a = np.array([1, 2, 3])
b = np.array([6, 3.3, 1])
C = np.array([[1, 5, 6], [7, 8, 9], [4, 2, 3]])
D = np.array([[2.3, 4, 7.2], [7, 9, 1], [11, 2, 9]])

01-02. インデックスの基礎

# 01-02. インデックスの基礎
print(a[0])
print("aの末尾からのカウント: ", a[-1])
print("2次元 列へのアクセス: ", C[0])
print("2次元 要素へのアクセス", C[0, 1])
1
aの末尾からのカウント:  3
2次元 列へのアクセス:  [1 5 6]
2次元 要素へのアクセス 5

01-03. スライスの基礎

# 01-03. スライスの基礎
print("0~(2-1)まで1ステップ刻み: ", b[0:2:1])
print("2次元 0~(2-1)まで1ステップ刻み 列: \n", D[0:2])
print("2次元 0~(2-1)まで1ステップ刻み 行と列両方: \n", D[0:2, 0:2])
0~(2-1)まで1ステップ刻み:  [6.  3.3]
2次元 0~(2-1)まで1ステップ刻み 列: 
 [[2.3 4.  7.2]
 [7.  9.  1. ]]
2次元 0~(2-1)まで1ステップ刻み 行と列両方: 
 [[2.3 4. ]
 [7.  9. ]]

01-04. リストを使った行列の一部へのアクセス

# 01-04. リストを使った行列の一部へのアクセス
print("0,1行と0,1列: \n", C[[0, 1]][:, [0, 1]])
0,1行と0,1列: 
 [[1 5]
 [7 8]]

01-05. インデックスとスライスの組み合わせ

# 01-05. インデックスとスライスの組み合わせ
print("2次元 列へのアクセス: ", C[:, 0])
2次元 列へのアクセス:  
[1 7 4]

01-06. リストを使ったインデックスアクセス

# 01-06. リストを使ったインデックスアクセス
print("0,1行: \n", C[[0, 1]])
print("0,1列: \n", C[:, [0, 1]])
0,1行: 
 [[1 5 6]
 [7 8 9]]
0,1列: 
 [[1 5]
 [7 8]
 [4 2]]