numpy的sum函数、mean函数

本文详细介绍了NumPy库中的sum与mean函数使用方法。sum函数用于求矩阵元素的和,通过设置axis参数可以指定按行或按列求和。mean函数则用于计算矩阵的均值,同样可以通过axis参数指定按行或按列计算。

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

sum函数

sum函数主要为了求矩阵的行、或者列的和。其中用axis这个参数来指定对行还是列求和,当没有指定axis参数的时候,就会对矩阵所有元素求和。

import numpy as np
#生成一个2维矩阵
a = range(16)
a = np.array(a)
a = a.reshape(4,4)
#[[ 0  1  2  3]
# [ 4  5  6  7]
# [ 8  9 10 11]
# [12 13 14 15]]

#sum的第二个参数不指定的时候,求导所有元素的和
res = np.sum(a) #120

#axis =0
res_1 = np.sum(a,axis=0)
#打印结果
print res_1
#[24 28 32 36]

我们会发现当axis=0的时候,sum求的是每一列元素的和。

res_2 =np.sum(a,axis=1)
print res_2
#[ 6, 22, 38, 54]

当axis=1的时候,求的是每一行元素的和。

mean 函数

说到numpy的sum函数,就不得不说其中的mean函数。2者在axis这个参数的设置是一样的,axis=0就是求每列的均值,axis=1就是求每行的均值。
函数接口为
numpy.mean(a, axis=None, dtype=None, out=None, keepdims=False)
其中a是要求均值的矩阵;
axis指明沿哪个轴计算均值,还可以这么理解,axis是几,那就表明被axis指明的那个维度数值被压缩成1。
dtype指明算得均值结果之后的数据类型;
keepdims指明是否保持维度,具体来说,假如你有一个3*2的矩阵,你恰好要沿行计算(axis=1)均值,那么你应该得到3*1的均值矩阵。但是如果你不指定keepdims=True的话,其实结果是1*3的均值矩阵。

a = np.array([[1,2],[3,4],[5,6]])
#array([0.5, 2.5, 4.5])
me_1 = np.mean(a,axis=1)
#(3,)
me_1.shape

#array([[0.5],
#       [2.5],
#       [4.5]])
me_2 = np.mean(a,axis=1,keepdims=True)
#(3, 1)
me_2.shape
### 使用 Numpy 聚合函数Numpy 中,聚合函数用于快速有效地执行各种统计数据操作。常见的聚合函数包括 `sum`、`mean`、`max` 和 `min` 等。 对于求和操作,可以使用 `np.sum()` 函数来计算数组中所有元素的总和[^4]: ```python import numpy as np data = np.array([1, 2, 3, 4]) total_sum = np.sum(data) print(f"Sum of elements: {total_sum}") ``` 为了获得平均值,可调用 `np.mean()` 方法,该方法返回给定轴上的算术平均值[^5]: ```python average_value = np.mean(data) print(f"Average value: {average_value}") ``` 寻找最大值可以通过 `np.max()` 实现;同样地,最小值则由 `np.min()` 提供[^3]: ```python maximum_value = np.max(data) minimum_value = np.min(data) print(f"Maximum value: {maximum_value}, Minimum value: {minimum_value}") ``` 上述代码片段展示了如何利用 Numpy 的内置聚合功能轻松完成基本统计分析任务。 #### 获取最值及其索引位置 除了简单的聚合外,有时还需要知道特定数值的位置信息。为此,Numpy 提供了两个额外的功能:`argmax` 和 `argmin`,它们分别用来找出最大值和最小值所在的索引。 ```python index_of_max = np.argmax(data) index_of_min = np.argmin(data) print(f"Index of maximum value ({maximum_value}): {index_of_max}") print(f"Index of minimum value ({minimum_value}): {index_of_min}") ``` 这使得不仅能够识别极端情况下的具体数值,还能追踪其所在的具体位置,在实际应用中非常有用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值