Numpy recarray.partition() function | Python
In numpy, arrays may have a data-types containing fields, analogous to columns in a spreadsheet. An example is
[(a, int), (b, float)], where each entry in the array is a pair of (int, float). Normally, these attributes are accessed using dictionary lookups such as
arr['a'] and arr['b']. Record arrays allow the fields to be accessed as members of the array, using
arr.a and arr.b.
numpy.recarray.partition() function rearranges the elements in the array in such a way that value of the element in kth position is in the position it would be in a sorted array. All elements smaller than the kth element are moved before this element and all equal or greater are moved behind it.
numpy.recarray.argpartition(kth, axis=-1, kind='introselect', order=None)
kth : [int or sequence of ints ] Element index to partition by.The kth element value will be in its final sorted position and all smaller elements will be moved before it and all equal or greater elements behind it.
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 :
Input array : [( 5., 2) ( 3., -4) ( 6., 9) ( 9., 1) ( 5., 4) (-12., -7)] Record array of float: [ 5. 3. 6. 9. 5. -12.] Record array of int: [ 2 -4 9 1 4 -7] Output partitioned float array : [ 5. -12. 3. 5. 9. 6.] Output partitioned int array : [ 1 -7 -4 2 4 9]
Code #2 :
We are applying
numpy.recarray.partition() to whole record array.
Input array : [[(5.0, 2) (3.0, 4) (6.0, -7)] [(9.0, 1) (6.0, 4) (-2.0, -7)]] Output array : [[(3.0, 4) (5.0, 2) (6.0, -7)] [(-2.0, -7) (6.0, 4) (9.0, 1)]]
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course