Python学习笔记——参数axis=0,1,2...

在Python程序中,当需要对一些多维的数组或列表进行操作时,经常碰到操作函数中有axis这个参数。那么这个参数应该如何理解呢?axis=0/1/2该怎么区别?下面通过一段示例程序来学习。

(1)首先定义一个2x3x4的三维数组a:
a = [[[1,2 ,3 ,4 ],
[5,6 ,7 ,8 ],
[9,10,11,12]],
[[13,14,15,16],
[17,18,19,20],
[21,22,23,24]]]
打印a,输出如下:


[[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]], [[13, 14, 15, 16], [17, 18, 19, 20], [21, 22, 23, 24]]]

(2)用numpy中的sum函数对a求和,先输入axis=0:
sum_0 = np.sum(a,axis = 0)
print(sum_0)
输出结果是一个3x4的数组,如下:


[[14 16 18 20]
[22 24 26 28]
[30 32 34 36]]

(3)再用sum函数对a求和,输入axis=1:
sum_1 = np.sum(a,axis = 1)
print(sum_1)
输出结果是一个2x4的数组,如下:


[[15 18 21 24]
[51 54 57 60]]

(4)最后用sum函数对a求和,输入axis=2:
sum_2 = np.sum(a,axis = 2)
print(sum_2)
输出结果是一个2x3的数组,如下:


[[10 26 42]
[58 74 90]]

总结一下,对于一个shape为ijk的三维数组a,当执行函数function(a, axis=0)时,相当于在第1个dimension上进行function运算,其他维度的形状保持不变,运算结果的shape为原数组a去掉第一个dimension的sahpe(即j*k),当axis=1或2时同理。当然,axis的取值不限于0/1/2,还可以拓展到高维数组。
在这里插入图片描述

在这里插入图片描述

参数axis=0,1,2…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值