
上次笔记,完成了第十六章关于Numpy视图与副本的应用、一维/二维/三维数组的转置;今天继续学习第十六章关于Numpy的常见操作,具体内容包括:
16.7 扁平化
16.8 旋转、翻转
16.9 堆叠
16.10 重复
--
今天的学习,依然是从“视频”入手,无论如何,有老师在前面带着,总是容易学进去的:

链接地址:【Chapter 16 NumPy数组规整 | 《编程不难》 | 鸢尾花书:从加减乘除到机器学习】 【精准空降到 19:00】 https://www.bilibili.com/video/BV1KK421i7yq/?share_source=copy_web&vd_source=a7173a8dd66cc5f2d070a70d3ae85c72&t=1140
--
16.7 扁平化

扁平化可以理解为numpy.reshape()的“逆操作”;扁平化的操作不止一种,书本列举如下:
1. array.ravel() / numpy.ravel()
2. array.reshape(-1)
3. array.flatten() / numpy.flatten()
这个比较简单,就不赘述了,具体可以看下面示例代码的截图和用法。

--
16.8 旋转、翻转

旋转这里书本讲的比较简单(应该说16章整体都不难),在这里也是简单放下应用案例:
1. 旋转:np.rot(数组名)

2. 翻转:np.flip(数组名)

--
16.9 堆叠
1. 书本截图已经够形象了,视频中还介绍了numpy官网对于数组操作api的介绍,这么一来就很容易自己在官网上查找需要用到的函数,以及了解其作用,截图分享如下:
链接:https://numpy.org/doc/stable/reference/generated/numpy.squeeze.html

2. 书本介绍到的知识:
(1)沿着“行”堆叠:numpy.stack(), numpy.row_stack(axis = 0), numpy.vstack()
(2)沿着“列”堆叠:numpy.column_stack(), numpy.stack(axis = 1)
(3)拼接:numpy.concatenate((数组名), axis = ...)
3. 我用自己的话理解,“堆叠”相当于沿着指定的方向,将数组堆叠在一起,返回一个新的数组,跟洗碗时产生的位移有点类似hhh
--
16.10 重复
书本简单给到了用于重复数组的代码:
1. numpy.repeat():用于重复数组中的每个元素,可以指定具体的轴、重复的次数等。具体用法可以参考numpy官网。
2. numpy.tile():用于重复整个数组。
--
16.11 对矩阵进行分块
1. 矩阵的合成:numpy.block()
2. 矩阵的切割:numpy.split()
--
一张图总结第十六章的numpy数组操作:

--
附:numpy官网等链接分享
1. numpy官网:https://numpy.org/doc/stable/index.html
2. numpy新手教程:https://numpy.org/doc/stable/user/absolute_beginners.html
3. numpy进阶教程:https://numpy.org/numpy-tutorials/mooreslaw-tutorial/
4. numpyAPI介绍:https://numpy.org/doc/stable/reference/generated/numpy.squeeze.html
⬆️坦白说,感觉我也是刚入门,但有了这些网址,感觉自己瞬间拥有了很多工具,能做出很多以前无法想象的数据操作,有点期待和激动,哇库哇库的感觉🤣
--
另外今天最主要的感受,就是将numpy官网当做“字典”,不求完全掌握numpy的每一个函数和具体用法,但是“没养过猪也要先见过猪跑”,有个大致的印象,这样即使不懂的时候,也比较知道怎么去问ai帮忙😂~
--
笔记写于:2026年2月26日17:46:10
结束于:2026年2月26日18:20:26
用时:约40分钟
--