python 自学笔记13 numpy数组规整

一图流操作示意。

数组塑形

升高维度

python 复制代码
import numpy as np
a = np.arange(12) # 创建一个长度为 12 的一维数组
b = np.reshape(a, (3, 4)) # 改变为 3 行 4 列的二维数组
c = np.reshape(a, (2, 3, 2)) # 改变为 2 个 3 行 2 列的三维数组

降低维度

python 复制代码
import numpy as np
a = np.array([[1, 2], [3, 4]])
b = np.reshape(a, -1) # 将二维数组展开为一维数组

改变存储顺序

python 复制代码
import numpy as np
a = np.arange(6).reshape((2, 3)) # 创建一个 2 行 3 列的二维数组
b = np.reshape(a, (3, 2), order='F') # 按列顺序存储

一维数组变成行向量和列向量

-1代表这个轴自适应填入

一维数组 → 二维数组

一维数组 → 三维数组

视图 vs 副本

视图是数据在内存中同一组数据存储,而不同的视图展示方式不同。

转置

一维数组转置

python 复制代码
# 一维数组的转置还是其本身
a_1D_array.T
# 请大家学习使用numpy.swapaxes()

二维数组

有两种转置方式

python 复制代码
a_row_vector.T					# 第一种
np.transpose(a_row_vector)		# 第二种

扁平化

例子:

python 复制代码
A_3_by_5.ravel()

旋转、翻转


堆叠

按行堆叠

沿列堆叠

其中 numpy.hstack() 函数对一维数组只能起到拼接的作用,对列向量起到堆叠的作用:

拼接

堆叠结果为三维数组



可以看成将一个立方体不同的摆放位置,但是坐标轴不变。

示例代码:

python 复制代码
A_B_1 = np.stack((A, B), axis=1)  
# dimension 1
A_B_1

重复

按元素重复

按数组重复

分块矩阵

合成

示例代码:

python 复制代码
M = np.block([[A,                np.zeros((2, 3))],
              [np.zeros((3, 2)), B               ]])

切分

相关推荐
2603_9651481111 分钟前
社区与学习资源:从入门到精通的API选品学习路径
数据库·人工智能·python·学习·数据挖掘
文人sec1 小时前
SQL基础入门笔记 | 从零基础到掌握核心查询语句
数据库·笔记·sql
CCblandy1 小时前
令牌桶在 0.9 倍负载超发 19%、固定窗口边界放行 20 个:四种限流算法同构实测
后端·python·算法·性能优化·架构
摇滚侠2 小时前
《计算机是如何工作的:人人都能懂的计算机软硬件工作原理》第 9 章 机器码与汇编语言 阅读笔记 9
java·开发语言·笔记
Cc.Y2 小时前
Java零基础入门:深入Java核心:文件IO与序列化全解
java·开发语言·python
xier_ran2 小时前
【infra之路】AI 编译器学习笔记(六):重拾 C++——lambda 与 MLIR 中的回调
c++·笔记·学习
拿本唠嗑AI研究2 小时前
本体工程实战指南:从建模到可维护的完整落地路径
java·人工智能·python·jena·ontology
志尊宝2 小时前
Vue3 零基础每日笔记(078):首屏加载速度优化汇总——清单化方案
笔记
Smoothcloud润云3 小时前
PyTorch推理服务模型热切换与失败回滚实战:降低版本更新中断
服务器·人工智能·pytorch·python·深度学习·gpu
jsjzsl23 小时前
递归自改进系统(RSI)的本质是自发对称破缺:智能爆炸有界—— AI研发切记盲目投入
人工智能·python·算法