# Compute q-th percentile using NumPy percentile() method in Python

In this tutorial, we will learn how to compute q-th percentile using NumPy percentile() method in Python.

## q-th percentile

The q-th percentile gives a value below which q percentage of the values fall. For example, the 10th percentile gives a value below which 10% of the values fall.

## NumPy percentile() method

The NumPy percentile() method is used to compute the q-th percentile of the data along the specified axis.

Syntax:

numpy.percentile (a, q, axis = None, out = None, overwrite_input = False, interpolation = ‘linear’, keepdims = False)

a: data convertible to array on which percentiles are to be computed.

q: percentile/sequence of percentiles to compute.

These two parameters are mandatory while the rest are optional.

This method returns the q-th percentile(s) of the given data.

## q-th percentile using NumPy percentile() method in Python

Example 1: Computing a single percentile on 1-Dimensional data

import numpy as np a = [58, 21, 18, 42, 36] val = np.percentile (a, 30) print ("The 30th percentile of a is ",val)

Output:

The 30th percentile of a is 24.0

This means that 30% of values fall below 24.

Example 2: Computing a sequence of percentiles on 1-Dimensional data

import numpy as np a = [12, 3, 58, 21, 18, 42, 36, 89, 90] val = np.percentile (a, [12, 32, 56, 81]) print ("The 12th, 32nd, 56th, 81st percentiles of a are ",val)

Output:

The 12th, 32nd, 56th, 81st percentiles of a are [11.64 19.68 38.88 72.88]

This means that 12%, 32%, 56% and 81% of values fall below 11.64, 19.68, 38.88 and 72.88 respectively.

Example 3: Computing a sequence of percentiles on 2-Dimensional data

import numpy as np a = [[12, 3, 58, 21],[18, 42, 36, 89]] val = np.percentile (a, [12, 56]) print ("The 12th, 56th percentiles of a are ",val)

Output:

The 12th, 56th percentiles of a are [10.56 34.8 ]

Here, the percentile is computed on the entire 2D array.

Example 4: Computing percentile along the specified axis

import numpy as np a = [[12, 3, 58, 21],[18, 42, 36, 89]] val1 = np.percentile (a, 56, 0) # axis = 0 for colomn print ("The 56th percentiles of a along the column are ",val1) val2 = np.percentile (a, 56, 1) # axis = 1 for row print ("The 56th percentiles of a along the row are ",val2)

The 2D array we created is:

Use the axis parameter to specify along which axis percentile should be computed. Set axis=0 to compute along the column and axis=1 to compute along the row.

Output:

The 56th percentiles of a along the column are [15.36 24.84 48.32 59.08] The 56th percentiles of a along the row are [18.12 40.08]

You may also read, Join Multiple Lists in Python

Understanding NumPy array dimensions in Python

## Leave a Reply

You must be logged in to post a comment.