题目
描述性统计是一种描述数据集特征的方法,通过若干类数据统计值来进行统计。本题具体使用的统计值如下
-
平均值(mean)
μ = 1 n ∑ i = 1 n x i \mu = \frac{1}{n}\sum_{i=1}^{n} x_i μ=n1i=1∑nxi -
中位数(median)
将数据从小到大排序后:

-
众数(mode)
出现次数最多的数值:
m o d e = arg max x f ( x ) mode = \arg\max_x f(x) mode=argxmaxf(x)
其中 f ( x ) f(x) f(x) 为 x x x 出现的频率 -
方差(variance)
σ 2 = 1 n − 1 ∑ i = 1 n ( x i − μ ) 2 \sigma^2 = \frac{1}{n-1}\sum_{i=1}^{n} (x_i - \mu)^2 σ2=n−11i=1∑n(xi−μ)2 -
标准差(standard_deviation)
σ = 1 n − 1 ∑ i = 1 n ( x i − μ ) 2 \sigma = \sqrt{\frac{1}{n-1}\sum_{i=1}^{n} (x_i - \mu)^2} σ=n−11i=1∑n(xi−μ)2 -
25th百分位数(25th_percentile)
Q 1 = P 25 Q_1 = P_{25} Q1=P25
25%百分位数是数据从小到大排序后,第25%个数据,剩下的百分位数同理。 -
50th百分位数(50th_percentile)
Q 2 = P 50 = m e d i a n Q_2 = P_{50} = median Q2=P50=median -
75th百分位数(75th_percentile)
Q 3 = P 75 Q_3 = P_{75} Q3=P75 -
四分位距(interquartile_range)
I Q R = Q 3 − Q 1 IQR = Q_3 - Q_1 IQR=Q3−Q1
四分位距是数据集中位于25%到75%之间的数据范围。
标准代码如下
def descriptive_statistics(data):
data = np.array(data)
mean = np.mean(data)
median = np.median(data)
unique, counts = np.unique(data, return_counts=True)
mode = unique[np.argmax(counts)] if len(data) > 0 else None
variance = np.var(data)
std_dev = np.sqrt(variance)
percentiles = np.percentile(data, [25, 50, 75])
iqr = percentiles[2] - percentiles[0]
stats_dict = {
"mean": mean,
"median": median,
"mode": mode,
"variance": np.round(variance,4),
"standard_deviation": np.round(std_dev,4),
"25th_percentile": percentiles[0],
"50th_percentile": percentiles[1],
"75th_percentile": percentiles[2],
"interquartile_range": iqr
}
return stats_dict
971

被折叠的 条评论
为什么被折叠?



