numpy多维数组执行sum计算时axis参数的意义是什么
发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,这篇文章主要介绍"numpy多维数组执行sum计算时axis参数的意义是什么",在日常操作中,相信很多人在numpy多维数组执行sum计算时axis参数的意义是什么问题上存在疑惑,小编查阅了各式资料,
千家信息网最后更新 2025年12月01日numpy多维数组执行sum计算时axis参数的意义是什么
这篇文章主要介绍"numpy多维数组执行sum计算时axis参数的意义是什么",在日常操作中,相信很多人在numpy多维数组执行sum计算时axis参数的意义是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"numpy多维数组执行sum计算时axis参数的意义是什么"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
axis参数,表面意思是数轴,官网解释为"Axis or axes along which a sum is performed. 沿其执行求和的轴。"
我认为说了跟没说一样,怎么个沿其求和法?
对于二位数组,我们可以简单的记为axis=0是按列加和,axis=1是按行加和。
对于更多维度数组呢?axis是元组的情况呢?
看代码:
import numpy as npn = np.array([[[1, 2, 3], [4, 5, 6], [7, 8, 9]], [[2, 4, 6], [8, 10, 12], [14, 16, 18]], [[1, 3, 5], [7, 9, 11], [13, 15, 17]]])print(n)print("============ sum axis=None=============")sum = 0for i in range(3): for j in range(3): for k in range(3): sum += n[k][i][j]print(sum) # 216print('------------------')print(np.sum(n)) # 216print("============ sum axis=0 =============") for i in range(3): for j in range(3): sum = 0 for axis in range(3): sum += n[axis][i][j] print(sum,end=' ') print() print('------------------')print("sum[0][0] = %d" % (n[0][0][0] + n[1][0][0] + n[2][0][0]))print("sum[1][1] = %d" % (n[0][1][1] + n[1][1][1] + n[2][1][1]))print("sum[2][2] = %d" % (n[0][2][2] + n[1][2][2] + n[2][2][2]))print('------------------')print(np.sum(n, axis=0)) print("============ sum axis=1 =============") for i in range(3): for j in range(3): sum = 0 for axis in range(3): sum += n[i][axis][j] print(sum,end=' ') print()print('------------------')print("sum[0][0] = %d" % (n[0][0][0] + n[0][1][0] + n[0][2][0]))print("sum[1][1] = %d" % (n[1][0][1] + n[1][1][1] + n[1][2][1]))print("sum[2][2] = %d" % (n[2][0][2] + n[2][1][2] + n[2][2][2]))print('------------------')print(np.sum(n, axis=1)) print("============ sum axis=2 =============") for i in range(3): for j in range(3): sum = 0 for axis in range(3): sum += n[i][j][axis] print(sum,end=' ') print()print('------------------')print("sum[0][0] = %d" % (n[0][0][0] + n[0][0][1] + n[0][0][2]))print("sum[1][1] = %d" % (n[1][1][0] + n[1][1][1] + n[1][1][2]))print("sum[2][2] = %d" % (n[2][2][0] + n[2][2][1] + n[2][2][2]))print('------------------')print(np.sum(n, axis=2))print("============ sum axis=(0,1)) =============") for i in range(3): sum = 0 for axis1 in range(3): for axis2 in range(3): sum += n[axis1][axis2][i] print(sum,end=' ')print()print('------------------')print("sum[1] = %d" % (n[0][0][1] + n[0][1][1] + n[0][2][1] + n[1][0][1] + n[1][1][1] + n[1][2][1] + n[2][0][1] + n[2][1][1] + n[2][2][1] ))print('------------------')print(np.sum(n, axis=(0,1)))输出:
[[[ 1 2 3] [ 4 5 6] [ 7 8 9]] [[ 2 4 6] [ 8 10 12] [14 16 18]] [[ 1 3 5] [ 7 9 11] [13 15 17]]]============ sum axis=None=============216------------------216============ sum axis=0 =============4 9 14 19 24 29 34 39 44 ------------------sum[0][0] = 4sum[1][1] = 24sum[2][2] = 44------------------[[ 4 9 14] [19 24 29] [34 39 44]]============ sum axis=1 =============12 15 18 24 30 36 21 27 33 ------------------sum[0][0] = 12sum[1][1] = 30sum[2][2] = 33------------------[[12 15 18] [24 30 36] [21 27 33]]============ sum axis=2 =============6 15 24 12 30 48 9 27 45 ------------------sum[0][0] = 6sum[1][1] = 30sum[2][2] = 45------------------[[ 6 15 24] [12 30 48] [ 9 27 45]]============ sum axis=(0,1)) =============57 72 87 ------------------sum[1] = 72------------------[57 72 87]
如果你看懂了代码和输出,我想你已经明白了。
最后用很差的语文能力描述下吧:
原数组是N维,axis指定的数轴将会降维(有几个轴就降几维),剩余的维度数组就是结果数组,结果数组的每个元素的值=结果座标固定,axis指定的维度遍历加和。
比如5维数组 n[i][j][k][x][y] axis =(1,3) 那么 结果数组就是3维的,其元素 r[i][k][y] = i,k,y 固定,j,x 遍历的加和
到此,关于"numpy多维数组执行sum计算时axis参数的意义是什么"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
数组
参数
意义
多维
结果
学习
更多
维度
代码
元素
就是
数轴
帮助
输出
实用
接下来
位数
座标
情况
意思
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
hypermill宏数据库
软件开发学习体会
红警联机平台无法连接服务器
bak怎么导入数据库
清联网络技术有限公司
小学学校网络安全责任制落实方案
自考财务软件开发与应用
青少年网络安全工程师
网络安全销售
俄罗斯以叛国罪逮捕网络安全巨头
数据库怎么切换服务器
网络安全危险指数
多种登录方式数据库
1u服务器深度
软件开发模型教程视频
服务器换完内存条系统起不来
软件开发找哪些单位
软件开发项目管路合同
招聘企业软件开发
西安金融软件开发公司排名
诺顿网络安全专业版密钥
暗黑 主机 不同服务器
软件开发学习体会
数据库中当前时间用
时代中国网络安全中心
企业应用程序管理服务器
dns服务器解析记录
金山区创新数据库服务商价格查询
同一网段打不开web服务器
安全与网络安全演讲稿