본문 바로가기

Programming Language/numpy

numpy 최소, 최대 조건 색인값: np.argmin(), np.argmax(), np.where()

1. 최소값, 최대값: np.min(), np.max()

* 예시

 

* 사용한 코드

import numpy as np

x = np.array([5, 4, 3, 2, 1, 0])
x.min()  # result: 0
np.min(x)  # result: 0
x.max()  # result: 5
np.max(x)  # result: 5

 

* 특징

numpy array 중 최소, 최대값을 찾아서 return 해준다.

 

 

2. 최소값에 해당하는 인덱스, 최대값에 해당하는 인덱스: np.argmin(), np.argmax()

* 예시

 

* 사용한 코드

import numpy as np

x = np.array(5, 4, 3, 2, 1, 0])
x.argmin()  # result: 5
np.argmin(x)  # result: 5
x.argmax()  # result: 0
np.argmax(x)  # result: 0

* 특징

최소, 최대값에 해당하는 index(= 색인, 위치)를 return해준다.

 

 

3. 조건에 맞는 값의 index 위치

* 예시

numpy array에서 3과 같거나 큰 값을 가지는 index를 알고 싶을 때

 

* 사용한 코드

import numpy as np

x = np.array([5, 4, 3, 2, 1, 0])
np.where(x >= 3)  # result: (array([0, 1, 2]),)

 

* 특징

- np.where()

 

 

4. 조건에 맞는 값을 indexing하기

* 예시

numpy array에서 3과 같거나 큰 값들만 indexing 하고 싶을 때

* 사용한 코드

import numpy as np

x = np.array([5, 4, 3, 2, 1, 0])
x[np.where(x >= 3)]  # result: array([5, 4, 3])

 

* 특징

- x[np.where()]

 

 

5. 조건에 맞는 값을 특정한 다른 값으로 변경하기

* 예시

numpy array의 값이 3과 같거나 크면 3으로 바꾸고, 3보다 작은 값으면 그대로 값을 유지하고 싶을 때

 

 

* 사용한 코드

import numpy as np

x = np.array([5, 4, 3, 2, 1, 0])
np.where(x>=3, 3, x)  # result: array([3, 3, 3, 2, 1, 0])

 

 

* 특징

- np.where(조건, 조건에 해당하는 값을 바꾸고 싶은 특정 값, 조건과 다를때 설정하고 싶은 값)

- for loop & if 문보다 속도가 훨씬 빠르다. 벡터 연산을 사용하기 때문이다.

 

 

출처: https://rfriend.tistory.com/356#recentComments

 

[Python] numpy 최소, 최대, 조건 색인값 : np.argmin(), np.argmax(), np.where()

이번 포스팅에서는 Python numpy 의 메소드, 함수 중에서 - 최소값, 최대값, 혹은 조건에 해당하는 색인(index) 값을 찾기 : np.argmin(), np.argmax(), np.where() - 최소값, 최대값, 혹은 조건에 맞는 값 찾기 :..

rfriend.tistory.com