🚀 Languege/Python

python - numpy(5) 배열의 인덱싱

mini_world 2020. 3. 29. 18:45
목차 접기
import numpy as np

# 배열 인덱싱
# 인덱싱은? 특정 위치의 값을 확인하는것..
a = np.array([0, 1, 2, 3, 4])
print(a[2])
print(a[-1])

a = np.array([[1, 2, 3],[4, 5, 6]])
print(a)
print(a[1, 0])  # 1번 행의 0번 열
print(a[1][0])  # 1번 행의 0번 열
print(a[-1, -1])  # 마지막 행, 마지막 열


# 배열 슬라이싱
# 배열 객체로 구현한 다차원 배열의 원소중 복수개에 접근하는 경우
# Slicing 과 comma를 사용

b = np.array([[0, 1, 2, 3], [4, 5, 6, 7]])
print(b)
print(b[0, :])  # 0번째 행 전체
print(b[:, 1])  # 1번째 열 전체
print(b[1, 1:]) # 1번째 행의 1번 부터 끝까지
print(b[:2, :2])  # 2번쨰 행의 앞 (1번째 행) 부터 2번째 열의 앞까지


'''
Question

0 ~ 14의 값을 이용하여 3x5행려를 만들고
1. 행렬에서 7을 인덱싱하세요.
2. 행렬에서 14을 인덱싱하세요.
3. 배열 [1,2]를 슬라이싱 하세요
4. 배열 [[6],[11]]을 슬라이싱 하세요
5. 배열 [[8,9], [13,14]]를 슬라이싱 하세요.
'''
print('-'*100)

q = np.array([[0, 1, 2, 3, 4], [5, 6, 7, 8, 9], [10, 11, 12, 13, 14]])
print(
    '0. 행렬 확인:\n', q,
    '\n1. 행렬에서 7을 인덱싱하세요. :', q[1, 2],
    '\n2. 행렬에서 14을 인덱싱하세요. :', q[-1, -1],
    '\n3. 배열 [1,2]를 슬라이싱 하세요. :', q[0, 1:3],
    '\n4. 배열 [[6],[11]]을 슬라이싱 하세요. :', q[1:, 1],
    '\n5. 배열 [[8,9], [13,14]]를 슬라이싱 하세요. :', q[1:, -2:],
    '\n 번외 :) 1번으 ㅣ값이 어디에있니',np.where(q==1)
      )
728x90