Compute the median along the specified axis.
Returns the median of the array elements.
Parameters :  a : array_like
axis : {None, int}, optional
out : ndarray, optional
overwrite_input : {False, True}, optional


Returns :  median : ndarray

See also
mean, percentile
Notes
Given a vector V of length N, the median of V is the middle value of a sorted copy of V, V_sorted  i.e., V_sorted[(N1)/2], when N is odd. When N is even, it is the average of the two middle values of V_sorted.
Examples
>>> a = np.array([[10, 7, 4], [3, 2, 1]])
>>> a
array([[10, 7, 4],
[ 3, 2, 1]])
>>> np.median(a)
3.5
>>> np.median(a, axis=0)
array([ 6.5, 4.5, 2.5])
>>> np.median(a, axis=1)
array([ 7., 2.])
>>> m = np.median(a, axis=0)
>>> out = np.zeros_like(m)
>>> np.median(a, axis=0, out=m)
array([ 6.5, 4.5, 2.5])
>>> m
array([ 6.5, 4.5, 2.5])
>>> b = a.copy()
>>> np.median(b, axis=1, overwrite_input=True)
array([ 7., 2.])
>>> assert not np.all(a==b)
>>> b = a.copy()
>>> np.median(b, axis=None, overwrite_input=True)
3.5
>>> assert not np.all(a==b)