numpy列相加_numpy.sum()的使用

本文介绍了numpy库中的sum函数,讲解了如何利用该函数进行列相加操作。通过设置axis参数,可以实现对矩阵不同维度的求和。例如,axis=0时,对每一列元素相加;axis=1时,对每一行元素相加。同时提到了axis取负数的情况,如axis=-1等效于axis=1,axis=-2等效于axis=0。还讨论了dtype参数和keepdims参数对结果的影响,强调了keepdims=True能保持原数组的维度,防止潜在的编程错误。

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

numpy的sum函数可接受的参数是:

sum(a, axis=None, dtype=None, out=None, keepdims=np._NoValue)
  1. a:用于进行加法运算的数组形式的元素

2 .axis的取值有三种情况:1.None,2.整数, 3.整数元组。(在默认/缺省的情况下,axis取None)

a = np.linspace(1,20,20).reshape(4,5)
print(a)

输出:
[[ 1.  2.  3.  4.  5.]
 [ 6.  7.  8.  9. 10.]
 [11. 12. 13. 14. 15.]
 [16. 17. 18. 19. 20.]]

Example:

如果axis默认/缺失

np.sum(a)

即将数组/矩阵中的元素全部加起来,得到一个和:210

如果axis为整数,axis的取值不可大于数组/矩阵的维度,且axis的不同取值会产生不同的结果。

np.sum(a,axis = 0)

axis为0是压缩行,即将每一列的元素相加,将矩阵压缩为一行,输出:array([34., 38., 42., 46., 50.])

np.sum(a,axis = 1)

axis为1是压缩列,即将每一行的元素相加,将矩阵压缩为一列,输出:array([15., 40., 65., 90.])

当axis取负数的时候,对于二维矩阵,只能取-1和-2(不可超过矩阵的维度)。

当axis=-1时,相当于axis=1的效果,当axis=-2时,相当于axis=0的效果。

如果axis为整数元组(x,y),则是求出axis=x和axis=y情况下得到的和。

np.sum(a,axis = (0,1))

输出:210

3. dtype先将a转化后再相加

np.sum([0.5, 0.7, 1.2, 1.5], dtype=np.int32)

输出为2

np.sum([0.5, 0.7, 1.2, 1.5], dtype=np.float32)

输出为3.9

4. keepdims =True 将保持a的维度

a = np.sum(a,axis = 0)
print(a.shape)
b = np.sum(a,axis = 0,keepdims = True)
print(b.shape)

输出结果分布时:(5,)和(1, 5)。而a的为2维数组,没有使用keepdims 时有维度丢失的可能,在代码中可能出现bug.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值