Numpy加权平均数

在数据分析中,均值、加权均值、标准差和变异系数是常用的统计指标。本文将通过两个实际案例,带你学习如何使用 NumPy 库快速计算这些指标。

案例一:成绩的均值与加权均值计算

在学生成绩分析中,普通均值和加权均值能从不同角度反映学生的整体水平。下面以小明和小刚的三门课程成绩为例,演示具体计算过程。

1. 数据准备与普通均值计算

首先,我们用 NumPy 数组存储两人的成绩,然后通过np.average()函数计算普通均值(即未加权均值)。

python 复制代码
import numpy as np 
# 存储小明和小刚的三门课程成绩 xiaoming = np.array([80,90,95]) 
xiaogang = np.array([95 ,90,80]) 
# 计算并打印普通均值 
print('没有加权的情况下小明的平均分是',np.average(xiaoming)) 
print('没有加权的情况下小刚的平均分是',np.average(xiaogang))

运行结果显示,两人的普通均值均为 88.33333333333333,仅从普通均值无法区分两人成绩的差异。

2. 加权均值计算

实际教学中,不同课程的重要性可能不同,此时需要计算加权均值。假设三门课程的权重分别为 0.2、0.3、0.5,通过np.average()weights参数传入权重数组即可计算。

python 复制代码
# 定义权重数组
quanzhong = np.array([0.2,0.3,0.5]) 
# 计算并打印加权均值 
print('加权情况下小明的平均分是',np.average(xiaoming, weights = quanzhong)) 
print('加权情况下小刚的平均分是',np.average(xiaogang, weights = quanzhong))

运行结果显示,小明的加权均值为 90.5,小刚的加权均值为 86.0。此时能清晰看出,由于权重较大的课程成绩不同,两人的整体水平出现了明显差异。

案例二:多维度数据的均值、标准差与变异系数计算

在实际业务中,常需要对多列数据进行统计分析。下面以一个 7 行 4 列的多维度数据为例,计算每一列的均值、标准差和变异系数。

1. 数据准备与均值计算

先用 NumPy 数组存储多维度数据,再通过np.mean()函数,指定axis=0(按列计算),得到每一列的均值。

python 复制代码
# 存储7年的4个维度统计数据 
stat_info = np.array([ [110.93, 16.46, 0.2376, 0.0573],
[-0.13, 31.01, 0.1188, 0.0836], 
[8.94, 26.67, 0.0565, 0.0676],
[17.24, 19.53, 0.1512, 0.0433],
[43.86, -10.14, 0.097, 0.0421], 
[-15.34, -13.04, 0.0902, 0.0732], 
[-20.82, -23.37, 0.0582, 0.1091] ]) 
# 计算每一列的均值并打印 
ave=np.mean(stat_info,axis=0) 
print(ave)

运行结果为[20.66857143 6.73142857 0.11564286 0.06802857],分别对应 4 个维度数据的 7 年均值。

2. 标准差计算

标准差能反映数据的离散程度,通过np.std()函数,同样指定axis=0,可计算每一列的标准差。

python 复制代码
# 计算每一列的标准差并打印
std=np.std(stat_info,axis=0) 
print(std)

运行结果为[4.18923479e+01 2.00965338e+01 5.84811046e-02 2.18930983e-02],离散程度的大小可通过数值直观判断。

3. 变异系数计算

变异系数是标准差与均值的比值,能消除量纲影响,用于比较不同维度数据的离散程度。只需将标准差除以均值即可得到。

python 复制代码
# 计算每一列的变异系数并打印
cv=np.std(stat_info,axis=0)/np.mean(stat_info,axis=0)
print(cv)

运行结果为[2.02686228 2.98547828 0.50570442 0.32182211],数值越大,说明该维度数据的离散程度相对越高。

相关推荐
这就是佬们吗5 小时前
Python入门⑤-异常处理、文件操作与实战项目
开发语言·数据库·python·算法·pycharm
卷无止境5 小时前
提升 Python 代码健壮性的方法大盘点
后端·python
asdzx675 小时前
Python PDF 拆分实战指南:单页拆分与按需页码范围拆分
开发语言·python·pdf
LadenKiller5 小时前
近期AI训练量化表达,解释改写检查要按顺序
人工智能·python
李昊哲小课5 小时前
咖啡工坊 · FastAPI 22 章教程合集
服务器·人工智能·python·fastapi
卷无止境6 小时前
Python 异常处理:从入门到工程实践
后端·python
garuda herb6 小时前
生成专题页Blog--建立并返回 MySQL 数据库连接
python·mysql
ONE_SIX_MIX6 小时前
qwenpaw-plugin-file-tools QwenPaw增强文件工具 更新 v1.1.1
python·qwenpaw
AOwhisky6 小时前
Python 学习笔记(第五期)——组合数据类型:列表、元组、集合与字典精讲——核心知识点自测与详解
开发语言·笔记·python·学习·云计算
码农学院6 小时前
GEO与SEO协同:从传统搜索到生成式搜索的平滑迁移路径
服务器·前端·python