파이썬의 NumPy 배열에서 요소를 삭제하는 방법에 대해
1차원 배열, 2차원 배열, 3차원 배열에 대한 예시를 들어 설명해드리겠습니다.
1. 1차원 배열에서 요소 삭제
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
new_arr = np.delete(arr, 2)
print(new_arr)
# 출력: [1, 2, 4, 5]
np.delete() 함수를 사용하여 배열 arr에서 인덱스 2에 해당하는 요소를 삭제한 새로운 배열 new_arr을 생성합니다.
2. 2차원 배열에서 행 또는 열 삭제
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
new_arr = np.delete(arr, 1, axis=0)
print(new_arr)
# 출력: [[1, 2, 3], [7, 8, 9]]
np.delete() 함수를 사용하여 배열 arr에서 인덱스 1에 해당하는 행을 삭제한 새로운 배열 new_arr을 생성합니다.
axis=0 매개변수를 사용하여 행을 삭제하도록 지정합니다. 만약 열을 삭제하려면 axis=1로 설정합니다.
3. 3차원 배열에서 면, 행 또는 열 삭제
import numpy as np
arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
new_arr = np.delete(arr, 0, axis=2)
print(new_arr)
# 출력: [[[2], [4]], [[6], [8]]]
np.delete() 함수를 사용하여 배열 arr에서 인덱스 0에 해당하는 면을 삭제한 새로운 배열 new_arr을 생성합니다.
axis=2 매개변수를 사용하여 면을 삭제하도록 지정합니다.
2차원 배열에서와 마찬가지로 행 또는 열을 삭제하려면 axis 값을 조절하면 됩니다.
여기서 np.delete() 함수의 axis 매개변수에 대해 자세히 살펴보면,
axis 매개변수는 NumPy 배열에서 삭제할 방향 또는 축을 지정하는 데 사용됩니다.
삭제하려는 축을 지정함으로써 해당 축을 따라 요소가 삭제됩니다.
axis 매개변수의 기본값은 None으로 설정되어 있으며, 이 경우에는 입력된 배열이 평평하게 펼쳐지고 삭제된 결과가 반환됩니다.
주요한 axis 값과 해당하는 의미는 다음과 같습니다.
axis=None: 입력된 배열을 평평하게 펼치고 삭제된 결과를 반환합니다. axis=0: 행 방향으로 요소를 삭제합니다. 이는 다차원 배열에서 행을 삭제하는 경우에 사용됩니다. axis=1: 열 방향으로 요소를 삭제합니다. 이는 다차원 배열에서 열을 삭제하는 경우에 사용됩니다. axis=2: 면 방향으로 요소를 삭제합니다. 이는 3차원 배열에서 면을 삭제하는 경우에 사용됩니다. |
즉, axis 값은 배열의 차원에 따라 결정되며, 삭제할 방향을 지정하는 역할을 합니다.
해당 축을 따라 요소가 삭제되고, 결과적으로 배열의 크기가 변경될 수 있습니다.
예를 들어, 2차원 배열에서 axis=0으로 설정하면 행이 삭제되어 배열의 행의 개수가 줄어들고,
axis=1로 설정하면 열이 삭제되어 배열의 열의 개수가 줄어듭니다.
3차원 배열에서 axis=0으로 설정하면 면이 삭제되어 배열의 면의 개수가 줄어들게 됩니다.
기억해야 할 것은 axis 값은 입력된 배열의 차원에 따라 유효한 값으로 설정되어야 한다는 점입니다.
따라서 배열의 차원에 맞게 올바른 axis 값을 선택해야 합니다.
이렇게 axis 매개변수를 사용하여 np.delete() 함수를 호출하면 원하는 방향으로 배열에서 요소를 삭제할 수 있습니다.
배열에서 요소를 삭제할 때 np.delete() 함수를 사용하며, axis 매개변수를 통해 삭제할 방향을 지정합니다.
주어진 예시를 참고하여 원하는 차원에서 요소를 삭제할 수 있습니다.
'파이썬 (Python) > Numpy (array)' 카테고리의 다른 글
파이썬 numpy :: 배열(array)의 차원, 크기, 길이 함수 /ndim, shape, len (0) | 2023.05.19 |
---|---|
파이썬 numpy :: 2차원 배열(array) 인덱싱, 원소 값 수정방법 (0) | 2023.05.19 |
파이썬 numpy :: 1차원 배열(array) 인덱싱, 원소 값 수정방법 (0) | 2023.05.18 |
파이썬 numpy :: 배열(array) 데이터타입 종류와 지정 (0) | 2023.05.18 |
파이썬 numpy :: 배열(array) 소개, 정의 / N차원 배열, ndim (0) | 2023.05.18 |