numpy 学习:统计函数和相关性

本文介绍了NumPy库中的数组统计函数,包括求和、求积、计算均值、统计非0元素个数等,并提供了相关性分析,如Pearson相关系数、协方差矩阵和相关性计算。示例展示了如何按行和列操作二维数组进行统计计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组的统计函数用于对数组做统计运算。

一,统计方法

NumPy内置数据分析常用的统计量:

  • mean():计算元素的均值
  • median():计算中位数
  • var():计算元素的方差
  • std() :计算元素标准差
  • max():计算元素的最大值
  • min():计算元素的最小值
  • ptp():计算元素的取值范围,即最大值和最小值的差值
  • percentile():计算百分位
  • quantile():计算分为数
  • count_nonzero():计数
  • cumsum:计算所有元素的累计和
  • cumprod:计算所有元素的累计积

1,求和

举个例子,创建一个二维数组,按照行和列分别求和:

a = np.array([[0, 2, 1]
              ,[0,1,0]])

r1=a.sum()
r2=a.sum(axis=0)
r3=a.sum(axis=1)

print('a.sum() = {0}\na.sum(axis=0) = {1}\na.sum(axis=1) ={2}'.format(r1,r2,r3))

2,求积

举个例子,创建一个二维数组,按照行和列分别求乘积:

a = np.array([[1, 2, 1]
             ,[1,1,0]])

r1=a.prod()
r2=a.prod(axis=0)
r3=a.prod(axis=1)

print('a.prod() = {0}\na.prod(axis=0) = {1}\na.prod(axis=1) ={2}'.format(r1,r2,r3))

3,计算数组的均值

计算数组的均值,或者某一个维度的均值:

a = np.array([[1, 2, 1]
             ,[1,1,0]])

r1=a.mean()
r2=a.mean(axis=0)
r3=a.mean(axis=1)

print('a.mean() = {0}\na.mean(axis=0) = {1}\na.mean(axis=1) ={2}'.format(r1,r2,r3))

4,统计非0元素的个数

作为示例,考虑只包含1和0的一维向量中,统计从0 到 1 转换的数量,在矢量化形式中,没有明确的for循环或直接引用各个元素:

>>> np.count_nonzero(x[:-1] < x[1:])

二,相关性

1,返回 Pearson 积矩相关系数

numpy.corrcoef(x, y=None, rowvar=True, *, dtype=None)

2,协方差矩阵

根据data和weight,计算协方差矩阵:

numpy.cov(m, y=None, rowvar=True, bias=False, ddof=None, fweights=None, aweights=None, *, dtype=None)

计算的逻辑:

m = np.arange(10, dtype=np.float64)
f = np.arange(10) * 2
a = np.arange(10) ** 2.
ddof = 1
w = f * a
v1 = np.sum(w)
v2 = np.sum(w * a)
m -= np.sum(m * w, axis=None, keepdims=True) / v1
cov = np.dot(m * w, m.T) * v1 / (v1**2 - ddof * v2)

3,相关性

计算两个一维序列的相关性

numpy.correlate(a, v, mode='valid')

举个例子:

np.correlate([1, 2, 3], [0, 1, 0.5])
array([3.5])

 

参考文档:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悦光阴

你的鼓励是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值