Signup/Sign In

NumPy partition() function

In this tutorial, we will cover the numpy.partition() function of the Numpy library.

The partition() function is used to split up the input array accordingly as per the given arguments.

  • This function returns the partitioned copy of the input array.

  • In the paritioned copy of the array, the elements are rearranged in such a way that the element in kth position takes the position where it would be, had the array was sorted.

  • All elements smaller than the kth element are moved before this element and all the elements that are equal or greater to it are moved behind it.

  • In case there are data elements with value equal to the kth element, then the ordering of the elements in the two partitions stays undefined.

Syntax of numpy.partition():

The syntax required to use this method is as follows:

numpy.partition(arr, kth, axis, kind, order)

Parameters:

let us now take a look at the parameters of this function:

  • arr
    This parameter indicates the input array that is to be sorted.

  • kth
    It is an integer or sequence of integers. This parameter indicates the index of the element around which the partition needs to be performed.

  • axis
    This parameter indicates the axis along which the elements would be sorted. The default value of this parameter is -1( means it sort along the last axis).

  • kind
    This parameter is used to define the kind of sorting you want to perform.The default value of this parameter is 'introselect'.

  • order
    For an array arr with fields defined in it, this argument is used to specify which fields to compare first, second, and so on.

Returned Values:

This Function will return an Array of the same type and shape as the Input Array.

Example 1:

The code snippet is as follows where we will use partition() function:

import numpy as np

inp_ar = np.array([2, 0, 1, 5, 4, 9, 78, 34]) 
print ("The Input array : ") 
print(inp_ar)

output = np.partition(inp_ar, 5) 
print ("The Output partitioned array : ")
print(output) 


The Input array :
[ 2 0 1 5 4 9 78 34]
The Output partitioned array :
[ 4 2 1 0 5 9 34 78]

It is concluded from the output of the above code snippet that all the elements less than the element at 5th position which is 9 are placed to the left side of 9 and all the elements greater than 9 are placed to the right of the separator element (5th element).

Also, note that the order of elements appearing in the output array is undefined.

Example 2:

import numpy as np

arr = np.array([7, 4, 8, 1, 10, 13])
print("The Input array is :")
print(arr)

output = np.partition(arr, (1, 3))
print("The Output Partitioned array is :")
print(output)


The Input array is :
[7 4 8 1 10 13]
The Output Partitioned array is :
[1 4 7 8 10 13]

Summary

In this tutorial we learned about the numpy.partition() function of the Numpy library. We covered how it is used with its syntax and values returned by this function along with a few code examples, to help you understand the concept.



About the author:
Aspiring Software developer working as a content writer. I like computer related subjects like Computer Networks, Operating system, CAO, Database, and I am also learning Python.