SeouliteLab

[Python/파이썬] Numpy의 numpy.clip() 함수를 사용하여 배열의 최대/최소 값 지정하기 본문

프로그래밍

[Python/파이썬] Numpy의 numpy.clip() 함수를 사용하여 배열의 최대/최소 값 지정하기

Seoulite Lab 2024. 3. 1. 22:52

Numpy의 numpy.clip() 함수는 배열의 값을 지정된 최소 및 최대 값으로 제한하는 데 사용됩니다. 이 함수는 데이터의 범위를 제한하거나 잘라낼 때 매우 유용합니다.

예제 1: 기본적인 사용법

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
clipped_arr = np.clip(arr, 3, 7)
print(clipped_arr)  # 출력 결과: [3 3 3 4 5 6 7 7 7]

위의 예제에서는 배열 arr의 값들을 3과 7 사이의 값으로 제한하여 clipped_arr에 저장하였습니다.

예제 2: 2차원 배열에서의 사용

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
clipped_arr = np.clip(arr, 3, 7)
print(clipped_arr)
# 출력 결과: 
# [[3 3 3]
#  [4 5 6]
#  [7 7 7]]

이 예제에서는 2차원 배열의 경우 각 행과 열에 대해 값의 범위가 제한됩니다.

예제 3: 최소값만 지정

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
clipped_arr = np.clip(arr, None, 3)
print(clipped_arr)  # 출력 결과: [1 2 3 3 3]

이 예제에서는 최소값만 지정하여 배열의 값이 최소값보다 작을 경우 최소값으로 치환됩니다.

예제 4: 최대값만 지정

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
clipped_arr = np.clip(arr, 2, None)
print(clipped_arr)  # 출력 결과: [2 2 3 4 5]

이 예제에서는 최대값만 지정하여 배열의 값이 최대값보다 클 경우 최대값으로 치환됩니다.

예제 5: 범위를 벗어난 경우

import numpy as np

arr = np.array([1, 2, 3, 4, 5])
clipped_arr = np.clip(arr, 3, 7)
print(clipped_arr)  # 출력 결과: [3 3 3 4 5]

이 예제에서는 배열의 값이 지정된 최소값과 최대값 사이에 있지 않을 경우 해당 값을 최소값 또는 최대값으로 치환합니다.

예제 6: 다차원 배열에서의 범위 제한

import numpy as np

arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
clipped_arr = np.clip(arr, 2, 6)
print(clipped_arr)
# 출력 결과: 
# [[[2 2]
#   [3 4]]
# 
#  [[5 6]
#   [6 6]]]

다차원 배열에서도 각 요소의 값이 지정된 범위 내에 들어가도록 제한됩니다.