numpy作为主攻数据分析的包,肯定存在对多维数据进行求和等操作本章博客专门对numpy.sum()中的参数axis进行解释,如有错误,请大佬们留言评论。
话不多说,直接上代码看看numpy.sum()的使用
import numpy as np
a = np.arange(24).reshape(2,3,4)
print(a)
print('结果a\n')
b = np.sum(a,axis=0)
print(b)
print('结果b\n')
c = np.sum(a,axis=1)
print(c)
print('结果c\n')
d = np.sum(a,axis=2)
print(d)
print('结果d\n')
运行后的结果
[[[ 0 1 2 3]
[ 4 5 6 7]
[ 8 9 10 11]]
[[12 13 14 15]
[16 17 18 19]
[20 21 22 23]]]
结果a
[[12 14 16 18]
[20 22 24 26]
[28 30 32 34]]
结果b
[[12 15 18 21]
[48 51 54 57]]
结果c
[[ 6 22 38]
[54 70 86]]
结果d
结果分析:
1.结果a : 生成3X4X2的三维数组
2.结果b、c、d:
在某个维度上的求和可以看成是在该维度上的数据压缩(压缩过程体积减少即维度减少,总的质量不改变即全部数的sum不变)。从而可是知道 axis=0是作用在z轴上,同理 axis=1是作用在x轴上, axis=2是作用在y轴上.
作用于z轴,(x,y)对应叠加即第一层数据和第二层数据重合压缩。
作用于x轴,数据向面zoy压缩,剩下2X4的二维数组。
作用于y轴,数据向面xoz压缩,剩下2X3的二维数组。