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 小时前
啥是RAG 它能干什么?
人工智能·python·机器学习
2301_769340675 小时前
如何在 Vuetify 中可靠捕获 Chip 关闭事件(包括键盘触发).txt
jvm·数据库·python
南 阳6 小时前
Python从入门到精通day66
开发语言·python
m0_596749097 小时前
JavaScript中手动实现一个new操作符的底层逻辑
jvm·数据库·python
DTAS尺寸公差分析软件7 小时前
DTAS3D v13.0 三维尺寸公差分析软件可申请试用
python·尺寸公差分析·三维公差分析·公差仿真软件·尺寸链计算
DTAS尺寸公差分析软件7 小时前
DTAS 3D公差分析软件最新版本介绍
python·3d·尺寸公差分析·尺寸链计算·尺寸工程·尺寸链校核软件·公差仿真分析
PieroPc7 小时前
CAMWATCH — 局域网摄像头监控系统 Fastapi + html
前端·python·html·fastapi·监控
feasibility.7 小时前
反爬十层妖塔:现代爬虫攻防的立体战争
爬虫·python·科技·scrapy·rust·go·硬件
十八旬7 小时前
快速安装ClaudeCode完整指南
开发语言·windows·python·claude
dFObBIMmai8 小时前
如何在 CSS 中实现元素的绝对定位,使其不受窗口尺寸变化影响
jvm·数据库·python