numpy.median function is used to calculate the median of an array along a specific axis or multiple axes. Median is defined as the middle value separating the higher half from the lower half of a data sample in other words median is a value in the middle when you sort the values.
In this post, you will learn how to use the function and compute the median of an array.
numpy.median(arr, axis=None, out=None)
- Purpose: Used to find the median value from ‘arr’ array using arithmetic median method.
-
Parameters:
- arr: array_like This will be our input array to perform median method.
- axis: None or int or tuple of ints, optional Axis on which we perform the arithmetic median if specified. otherwise, the arr will be flattened.
- out: ndarray(optional) Used for defining an alternative output array in which the result is placed. The default is None; if provided it must have the same shape as the expected output. The type of output values will be cast when necessary.
- Returns:
- median: ndarray It returns the middle value of the array. If axis is specified then returns an array with median values.
# Import Packages
import numpy as np
1. How to compute median of 1-Dimensional arrays
Example 1: Compute median on 1-D array with odd number of elements in the array.
First, let’s create the 1-D Array
# Create 1-D array with odd nnumber of elements in it.
arr = np.array([2,3,5,7,8])
Apply median() function on the above array to find the median score of the array elements
# Compute median
median_arr = np.median(arr)
print("median of array is", median_arr)
median of array is 5.0
How to calculate median when there are odd number of elements?
Calculating Median for odd number of elements in a array:
- Divide the no.of elements by 2.
- Round up the quotient to the nearest value.
- The rounded value will be position value of an array.
- The element in the specified position value of an array is median value
median = Number of elements / 2
= 5/2Quotient = 2.5
position value = 3
median = 5.0
array = [2,3,5,7,8]
From the above array the element in the third position is 5. so, the middle score value from the array is 5.
Example 2: Compute median on 1-D array with even number of elements in an array.
In this example you will learn how to compute median on 1-D array with even number of elements in an array.
# Create 1-D array with even nnumber of elements in it.
array = np.array([3,7,4,5,10,4])
Apply median() function on the above array to find the middle score of the array elements.
# Compute median
median_array = np.median(array)
print(median_array)
4.5
How to calculate median when there are even number of elements?
Median for even number of elements in a array:
array = [3,7,4,5,10,4]
- Take the middle value pairs from the given array i.e [4,5]
- Sum those middle value pairs = 4+5 = 9
- Divide the sum value with 2
- The returned quotient value will be the median or middle score value of the array.
Middle value pairs = 4,5
sum of middle value pairs = 4+5 = 9
Median = sum of middle value pairs / 2
= 9/2
Median = 4.5
2. How to compute median of 2-D arrays
Example 3: Compute median on 2-D array with odd number of elements in an array.
# create a 2-D array
arr = np.array([[2,6,5],
[4,2,3]])
arr
array([[2, 6, 5],
[4, 2, 3]])
Apply median() function on the above array to find the middle score of the array elements.
# compute median
median_arr = np.median(arr)
print(median_arr)
3.5
Example 4: Compute median on 2-D array define along specified axis
Create the 2D array.
# create a 2-D array
arr = np.array([[2,4,7],
[6,3,1]])
Specify axis=0 to compute the median column wise.
# compute median, specify axis=0
median_arr = np.median(arr, axis=0)
print(median_arr)
[4. 3.5 4. ]
Specify axis=1 to compute the median row-wise
# create a 2-D array
arr = np.array([[2,4,7],[6,3,1]])
Apply median() function on the above array to find the middle score of the array elements with specified axis.
# compute median
median_arr = np.median(arr, axis=1)
print(median_arr)
3. How to compute median of arrays with missing values.
Create array with missing value and use np.nanmedian()
to compute the median. If we use the regular np.median()
, it will raise an error.
# Create 1-D array with even nnumber of elements in it.
array = np.array([3,7,4,5,np.nan,4])
np.nanmedian(array)
4.0
4. Check your learning
Q1: Can you perform median operation when axis=1 on 1-D array?
Answer: No, you cannot perform median operation when axis =1 on 1-D array.This returns a axis error.