import numpy as np
def cal_iqr(arr): # 计算四分位距
qr1 = np.quantile(arr, 0.25, method='averaged_inverted_cdf') # 下四分位数
qr3 = np.quantile(arr, 0.75, method='averaged_inverted_cdf') # 上四分位数
iqr = qr3 - qr1 # 计算四分位距
return iqr
method共有13种方法,选择合适需求的方法。
1.‘inverted_cdf’ 2.‘averaged_inverted_cdf’ 3.‘closest_observation’ 4.‘interpolated_inverted_cdf’ 5.‘hazen’ 6.‘weibull’ 7.‘linear’(默认) 8.‘median_unbiased’ 9.‘normal_unbiased’ 10.'lower' 11.'higher' 12.'nearest' 13.'midpoint'
# 计算下四分位数: # 将数据升序排序,用数据个数n除以4,如得到整数a,取第a个和第a+1个数据的均值作为下四分位数,若得到小数,向上取整得到整数b,第b个数即是下四分位数。 # 计算上四分位数: # 将数据升序排序,用数据个数的三倍,即3n除以4,如得到整数c,取第c个和第c+1个数据的均值作为下四分位数,若得到小数,向上取整得到整数d,第d个数即是下四分位数。