달나라 노트

Python numpy : clip (최대/최소값 제한하기) 본문

Python/Python numpy

Python numpy : clip (최대/최소값 제한하기)

CosmosProject 2022. 3. 22. 19:14
728x90
반응형

 

 

 

numpy의 clip method는 전달받은 숫자를 최소값 또는 최대값 사이의 값인지 체크합니다.

최소값보다 작은 값은 최소값으로 return하며,

최대값보다 큰 값은 최대값으로 return합니다.

 

만약 array를 전달받았을 경우 array에 있는 각각의 요소들마다 clip을 적용하여 array를 return합니다.

 

 

Syntax

numpy.clip(value_array,
           min,
           max)

value_array = clip method를 적용할 어떤 값 또는 array입니다.

 

min = 최소값입니다.

 

max = 최대값입니다.

 

 

 

 

import numpy as np

val_test = np.clip(10, 2, 7)
print(val_test)


-- Result
7

10은 max값인 7보다 크므로 7이 return됩니다.

 

 

 

 

import numpy as np

val_test = np.clip(2, 2, 7)
print(val_test)

val_test = np.clip(5, 2, 7)
print(val_test)

val_test = np.clip(7, 2, 7)
print(val_test)


-- Result
2
5
7

2, 5, 7 모두 최소값 2, 최대값 7 사이에 있는 값이므로 그대로 return됩니다.

 

 

 

import numpy as np

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

print(arr_test)

arr_new = np.clip(arr_test, 2, 4)
print(arr_new)


-- Result
[[9 1 5 7]
 [2 6 5 8]
 [0 3 0 2]
 [4 0 7 3]
 [4 0 7 3]]
 
[[4 2 4 4]
 [2 4 4 4]
 [2 3 2 2]
 [4 2 4 3]
 [4 2 4 3]]

clip method에 array를 전달하였습니다.

 

그러면 array의 각 요소에 clip을 적용하여 array의 각 요소들의 값을 업데이트합니다.

 

위 예시를 보면 원본 array에서 2보다 작은 값은 모두 2로 변화되었으며,

4보다 큰 값은 모두 4로 변환된 것을 볼 수 있습니다.

 

 

 

 

 

 

728x90
반응형
Comments