배열의 index 접근하기

arr = np.arange(10)
print(arr)
#[0 1 2 3 4 5 6 7 8 9]

print(arr[-1])   #9

arr[-1] 출력시 첫번째에서 뒤로 되돌아간 9가 출력된다.


arr = np.array([[1, 2, 3, 4],
                [5, 6, 7, 8],
                [9, 10, 11, 12]])

print(arr[0,3])
# 4

arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

print(arr[3:8])
#[3 4 5 6 7]   3부터 8미만까지 출력

print(arr[3:])
#3부터 끝까지 출력

print(arr[:7])
#처음부터 7미만까지 출력

print(arr[:-1])
#-1에 해당하는 9 미만까지의 값인 0부터 9 미만까지 출력
arr = np.array([[1, 2, 3, 4],
                [5, 6, 7, 8],
                [9, 10, 11, 12]])

print(arr[0,:])
#0번째 행의 모든 값 출력

print(arr[:,1])
#1번째 열의 모든 값 출력

print(arr[:3, :])
#3미만의 행에 있는 모든 원소 출력

print(arr[:2, 2:])
#2미만 행에 있는 원소 중 2번째 열부터 끝까지 출력

Fancy 인덱싱

arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

print(arr[[0, 2, 4]])
#0, 2, 4번째 원소를 가져온다는 뜻

arr = np.array([[1, 2, 3, 4],
                [5, 6, 7, 8],
                [9, 10, 11, 12]])

print(arr[[0,2], 2:])
#0행과 2행에서 2열부터 끝까지 원소를 출력한다는 뜻

print(arr[1:, [2,3]])
#1행부터 끝까지 2,3열에 해당하는 값을 가져온다는 뜻