描述性统计是一种描述数据集特征的方法,通过若干类数据统计值来进行统计。本题具体使用的统计值如下

  1. 平均值(mean)

  2. 中位数(median) 将数据从小到大排序后: alt

  3. 众数(mode) 出现次数最多的数值: 其中 出现的频率

  4. 方差(variance)

  5. 标准差(standard_deviation)

  6. 25th百分位数(25th_percentile) 25%百分位数是数据从小到大排序后,第25%个数据,剩下的百分位数同理。

  7. 50th百分位数(50th_percentile)

  8. 75th百分位数(75th_percentile)

  9. 四分位距(interquartile_range) 四分位距是数据集中位于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

在scipy库和pandas库中也有对应的描述性统计计算方法。