[파이썬][Scipy] 다차원 배열 인덱싱과 슬라이싱 방법과 예제
다차원 배열의 인덱싱과 슬라이싱은 NumPy 및 Scipy에서 매우 유용하며 데이터의 부분 집합에 접근하거나 수정하는 데 사용됩니다. 다차원 배열의 인덱싱과 슬라이싱 방법을 예제와 함께 살펴보겠습니다.
다차원 배열 인덱싱 (Multidimensional Array Indexing):
- 2차원 배열 인덱싱:
import numpy as np
arr = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 인덱스를 사용하여 요소에 접근
print(arr[0, 1]) # 첫 번째 행, 두 번째 열의 요소
print(arr[2, 0]) # 세 번째 행, 첫 번째 열의 요소
- 3차원 배열 인덱싱:
import numpy as np
arr = np.array([[[1, 2, 3],
[4, 5, 6]],
[[7, 8, 9],
[10, 11, 12]]])
# 인덱스를 사용하여 요소에 접근
print(arr[0, 1, 2]) # 첫 번째 차원에서 0번 인덱스, 두 번째 차원에서 1번 인덱스, 세 번째 차원에서 2번 인덱스의 요소
print(arr[1, 0, 1]) # 첫 번째 차원에서 1번 인덱스, 두 번째 차원에서 0번 인덱스, 세 번째 차원에서 1번 인덱스의 요소
다차원 배열 슬라이싱 (Multidimensional Array Slicing):
- 2차원 배열 슬라이싱:
import numpy as np
arr = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 슬라이싱을 사용하여 부분 배열 추출
sub_arr = arr[0:2, 1:3] # 첫 번째 행부터 두 번째 행, 두 번째 열부터 세 번째 열까지 추출
print(sub_arr)
- 3차원 배열 슬라이싱:
import numpy as np
arr = np.array([[[1, 2, 3],
[4, 5, 6]],
[[7, 8, 9],
[10, 11, 12]]])
# 슬라이싱을 사용하여 부분 배열 추출
sub_arr = arr[0, :, 1:3] # 첫 번째 차원에서 0번 인덱스, 모든 행, 두 번째 열부터 세 번째 열까지 추출
print(sub_arr)
다차원 배열 인덱싱과 슬라이싱은 데이터의 특정 부분에 접근하거나 수정하는 데 매우 유용합니다. 이러한 기능을 사용하여 다양한 형태의 데이터를 조작하고 분석할 수 있습니다.