numpy多维数组执行sum计算时axis参数的意义是什么
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章主要介绍"numpy多维数组执行sum计算时axis参数的意义是什么",在日常操作中,相信很多人在numpy多维数组执行sum计算时axis参数的意义是什么问题上存在疑惑,小编查阅了各式资料,
千家信息网最后更新 2025年01月23日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安全错误
数据库的锁怎样保障安全
博朗软件开发上海公司 概况
vm虚拟机 服务器
宜兴智能软件开发节能规范
连云港齐装网络技术有限公司
财务软件开发用什么平台
mc中国版服务器管理员指令大全
硅谷动力网络技术有限公司
cvh数据库
分析软件开发代码
服务器安全狗阻拦修改密码
软件开发游戏制作培训机构
什么是网络安全密钥 在哪
怪物猎人3g 多玩数据库
软件开发项目swot分析
centos安装svn服务器
冬残奥网络安全保障工作总结
指定当前数据库为学生数据库
sqlite3数据库下载
免费网络安全教学设计教案
udc软件开发
浙江工程软件开发服务商
世界最好的数据库
数据库 查询用户 权限
数据库增加索引
软件开发一面可以是HR吗
安徽云贾互联网科技有限公司
简单c 数据库投票
五年级关于网络安全画
齐鲁网官网网络安全
迅雷网极品女数据库19