查看原文
其他

手撕numpy(五):一招帮你彻底搞懂axis=0和axis=1

黄伟呢 凹凸数据 2021-08-09
↑ 关注 + 星标 ~ 有趣的不像个技术号每晚九点,我们准时相约  


大家好,我是黄同学


手撕numpy系列持续更新中~


《手撕numpy(一):简单说明和创建数组的不同方式》

《手撕numpy(二):各种特性和简单操作》

《手撕numpy(三):切片和索引详解》


1、关于axis轴的说明



思考:给你一个三维数组,你知道如何设置axis轴的值吗?下面这张图展示的结果你知道怎么来的吗?这些疑问都会在文中给你一一解答。



2、什么是维度?



举例说明


3、什么是高维,什么是低维?



4、二维结构数据的坐标展示


5、axis=0 与 axis=1的含义


6、关于三维数组axis设置


1)案例说明

x = np.arange(8).reshape(2, 2, 2)
display(x)

display(x.sum(axis=0))
display(x.sum(axis=1))
display(x.sum(axis=2))


结果如下


2)结果分析

① 数组x的坐标展示


② 结果分析


  • 通过前面的叙述,我们已经知道axis=0表示最高维,axis=1表示次高维,依次下去。因此,对于三维数组来说,axis=0指的就是最高维(三维),axis=1指的就是次高维(二维),那么axis=2指的就是最低维(一维)。


  • 当axis=0的时候,指的就是,最高维三维变化,其他维度不变化的数据会成为一组,因此x[0][0][0]、x[1][0][0];x[0][1][0]、x[1][1][0];x[0][0][1]、x[1][0][1];x[0][1][1]、x[1][1][1]各自成为一组,你把这组内对应元素相加就是x.sum(axis=0)的答案了。


  • 当axis=1的时候,就是次高维二维变化,其他维度不变化,因此x[0][0][0]、x[0][1][0];x[0][0]1]、x[0][1][1];x[1][0][0]、x[1][1][0];x[1][0][1]、x[1][1][1];各自成为一组,你把这组内对应元素相加就是x.sum(axis=1)的答案了。


  • 当axis=3的时候,最低维一维变化,其他维度不变化,因次x[0][0][0]、x[0][0][1];x[0][1][0]、x[0][1][1];x[1][0][0]、x[1][0][1];x[1][1][0]、x[1][1][1];各自成为一组,你把这组内对应元素相加就是x.sum(axis=2)的答案了








近期文章,点击图片即可查看






后台回复关键词「进群」,即刻加入读者交流群~


先撕numpy,再撕pandas!

朱小五

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存