I am trying to figure out how np.partition
function works.
For example, consider
arr = np.array([ 5, 4, 1, 0, -1, -3, -4, 0])
The docs talk of 'a sorted array'.
np.partition
starts by sorting the elements in the array provided. In this case the original array is:
arr = [ 5, 4, 1, 0, -1, -3, -4, 0]
When sorted, we have:
arr_sorted = [-4 -3 -1 0 0 1 4 5]
Hence the call, np.partition(arr, kth=2)
, will actually have the kth
as the the element in position 2
of the arr_sorted
, not arr
. The element is correctly picked as -1
.