numpy.partition() in Python
Last Updated :
28 Dec, 2018
numpy.partition() function is used to create a partitioned copy of input array with its elements rearranged in such a way that the value of the element in k-th position is in the position it would be in a sorted array. All elements smaller than the k-th element are moved before this element and all equal or greater are moved behind it. The ordering of the elements in the two partitions is undefined.
Syntax : numpy.partition(arr, kth, axis=-1, kind='introselect', order=None)
Parameters :
arr : [array_like] Input array.
kth : [int or sequence of ints ] Element index to partition by.
axis : [int or None] Axis along which to sort. If None, the array is flattened before sorting. The default is -1, which sorts along the last axis.
kind : Selection algorithm. Default is ‘introselect’.
order : [str or list of str] When arr is an array with fields defined, this argument specifies which fields to compare first, second, etc.
Return : [ndarray] Partitioned array of the same type and shape as arr.
Code #1 :
Python3
# Python program explaining
# partition() function
import numpy as geek
# input array
in_arr = geek.array([ 2, 0, 1, 5, 4, 9])
print ("Input array : ", in_arr)
out_arr = geek.partition(in_arr, 3)
print ("Output partitioned array : ", out_arr)
Output:
Input array : [2 0 1 5 4 9]
Output partitioned array : [0 1 2 4 5 9]
Code #2 :
Python3
# Python program explaining
# partition() function
import numpy as geek
# input array
in_arr = geek.array([ 2, 0, 1, 5, 4, 9, 3])
print ("Input array : ", in_arr)
out_arr = geek.partition(in_arr, (0, 3))
print ("Output partitioned array : ", out_arr)
Output:
Input array : [2 0 1 5 4 9 3]
Output partitioned array : [0 1 2 3 4 9 5]