Python numpy.quantile()
numpy.quantile(arr, q, axis = None) :计算给定数据(数组元素)沿指定轴线的第q个四分位数。当人们处理正态分布时,量化在统计学中起着非常重要的作用。 在上图中,Q2是正态分布数据的中位数。Q3-Q2代表 Interquartile Range的数据集。
参数 :
arr :[array_like]输入阵列。
q :四分位值。
axis :[int或int的tuples]轴,我们想沿着这个轴来计算量化值。否则,它将认为Arr是平坦的(在所有轴上工作)。 axis = 0意味着沿着列工作, axis = 1意味着沿着行工作。
out :[ndarray, optional]不同的数组,我们想把结果放在其中。该数组必须具有与预期输出相同的尺寸。
结果 :
数组的第q个四分位数(如果没有轴,则为标量值)或沿指定轴的四分位值的数组。
代码 #1:
# Python Program illustrating
# numpy.quantile() method
import numpy as np
# 1D array
arr = [20, 2, 7, 1, 34]
print("arr : ", arr)
print("Q2 quantile of arr : ", np.quantile(arr, .50))
print("Q1 quantile of arr : ", np.quantile(arr, .25))
print("Q3 quantile of arr : ", np.quantile(arr, .75))
print("100th quantile of arr : ", np.quantile(arr, .1))
输出 :
arr : [20, 2, 7, 1, 34]
Q2 quantile of arr : 7.0)
Q1 quantile of arr : 2.0)
Q3 quantile of arr : 20.0)
100th quantile of arr : 1.4)
代码 #2:
# Python Program illustrating
# numpy.quantile() method
import numpy as np
# 2D array
arr = [[14, 17, 12, 33, 44],
[15, 6, 27, 8, 19],
[23, 2, 54, 1, 4, ]]
print("\narr : \n", arr)
# quantile of the flattened array
print("\n50th quantile of arr, axis = None : ", np.quantile(arr, .50))
print("0th quantile of arr, axis = None : ", np.quantile(arr, 0))
# quantile along the axis = 0
print("\n50th quantile of arr, axis = 0 : ", np.quantile(arr, .25, axis = 0))
print("0th quantile of arr, axis = 0 : ", np.quantile(arr, 0, axis = 0))
# quantile along the axis = 1
print("\n50th quantile of arr, axis = 1 : ", np.quantile(arr, .50, axis = 1))
print("0th quantile of arr, axis = 1 : ", np.quantile(arr, 0, axis = 1))
print("\n0th quantile of arr, axis = 1 : \n",
np.quantile(arr, .50, axis = 1, keepdims = True))
print("\n0th quantile of arr, axis = 1 : \n",
np.quantile(arr, 0, axis = 1, keepdims = True))
输出 :
arr :
[[14, 17, 12, 33, 44], [15, 6, 27, 8, 19], [23, 2, 54, 1, 4]]
50th quantile of arr, axis = None : 15.0
0th quantile of arr, axis = None : 1)
50th quantile of arr, axis = 0 : [14.5 4. 19.5 4.5 11.5]
0th quantile of arr, axis = 0 : [14 2 12 1 4]
50th quantile of arr, axis = 1 : [17. 15. 4.]
0th quantile of arr, axis = 1 : [12 6 1]
0th quantile of arr, axis = 1 :
[[17.]
[15.]
[ 4.]]
0th quantile of arr, axis = 1 :
[[12]
[ 6]
[ 1]]