numpy多维数组执行sum计算时axis参数的意义是什么
发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,这篇文章主要介绍"numpy多维数组执行sum计算时axis参数的意义是什么",在日常操作中,相信很多人在numpy多维数组执行sum计算时axis参数的意义是什么问题上存在疑惑,小编查阅了各式资料,
千家信息网最后更新 2024年09月22日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安全错误
数据库的锁怎样保障安全
ibm服务器主板型号
mysql数据库加锁
呼市新华互联网科技学校视频
房屋出租数据库
链接服务器无响应是什么情况
服务器系统如何更新驱动
华三服务器远程控制kvm
cad上传到服务器导出
威海直销软件开发
网络安全离我们多远
韩服英雄联盟更新服务器不在线
梦幻模拟战服务器有几个区域
饥荒专用服务器模组用不了
网络安全直播
华为服务器预警灯
mc服务器leveltype
用网络技术突破重难点
android数据库管理
腾讯文档表格数据库
怎样宣传网络安全
全球云服务器排行
鲁大师 代理服务器
嘉定区正规软件开发问答知识
漳州开发区禾苒网络技术工作室
如何按照日期查找数据库
懒人数据库
花木兰配音软件开发
中指数据库 费用
苹果电脑数据库白名单
网络安全法第21条开奖