다음과 같이 사용한다.

import numpy as np
x = np.array([1, 4, 5, 1000, 100, 3, 10, 2])
print(x)
print('----------------------')
print('partition',np.partition(x, -3))
print('partition',np.partition(x, -1))
print(np.argpartition(x, -3))
print(x[np.argpartition(x, -3)])
print('----------------------')
print('partition', np.partition(x, 3))
print(np.argpartition(x, 3))
print(x[np.argpartition(x, 3)])
print('----------------------')
print(np.partition(x, (1, 2)))
print(np.argpartition(x, (1, 3)))
print(x[np.argpartition(x, (1, 5))])

츌력 결과

np.partition에 대해서 설명하면, np.partition(np.array(), k-th)로 사용하는데

np.partition(~, 2)와 같은 경우는 리스트에서 순서 상관없이 작은 숫자 2개를 뽑아 왼쪽으로 놓겠다는 의미

np.partition(~, -2)와 같은 경우는 리스트에서 순서 상관없이 큰 값 2개를 뽑아 오른쪽으로 놓겠다는 의미이다.

np.argpartition은 partition과 같고, index를 리턴한다.

 

+ 틀리면 댓글 부탁드립니다.