1. 导入 NumPy
2. 创建数组
2.1 一维数组
| a = np.array([1, 2, 3, 4, 5]) |
| print(a) |
2.2 多维数组
| b = np.array([[1, 2, 3], [4, 5, 6]]) |
| print(b) |
2.3 特殊数组
-
全零数组:
| zeros = np.zeros((3, 3)) |
| print(zeros) |
-
全一数组:
| ones = np.ones((3, 3)) |
| print(ones) |
-
单位矩阵:
| identity = np.eye(3) |
| print(identity) |
-
随机数组:
| random_array = np.random.rand(3, 3) |
| print(random_array) |
3. 数组属性
| a = np.array([[1, 2, 3], [4, 5, 6]]) |
| |
| print(a.shape) |
| print(a.dtype) |
| print(a.size) |
| print(a.ndim) |
4. 数组索引和切片
4.1 一维数组
| a = np.array([1, 2, 3, 4, 5]) |
| print(a[0]) |
| print(a[1:4]) |
4.2 多维数组
| b = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) |
| print(b[0, 0]) |
| print(b[0, :]) |
| print(b[:, 1]) |
| print(b[1:3, 1:3]) |
5. 数组操作
5.1 数学运算
| a = np.array([1, 2, 3]) |
| b = np.array([4, 5, 6]) |
| |
| print(a + b) |
| print(a - b) |
| print(a * b) |
| print(a / b) |
| print(np.sqrt(a)) |
5.2 广播
| a = np.array([[1, 2, 3], [4, 5, 6]]) |
| b = np.array([1, 0, 1]) |
| |
| print(a + b) |
6. 数组重塑
| a = np.arange(12) |
| print(a) |
| |
| b = a.reshape((3, 4)) |
| print(b) |
| |
| c = a.reshape((2, 2, 3)) |
| print(c) |
7. 数组连接和拆分
7.1 连接
| a = np.array([[1, 2], [3, 4]]) |
| b = np.array([[5, 6]]) |
| |
| |
| c = np.hstack((a, b)) |
| print(c) |
| |
| |
| d = np.vstack((a, b)) |
| print(d) |
7.2 拆分
| a = np.array([[1, 2, 3, 4], [5, 6, 7, 8]]) |
| |
| |
| b, c = np.hsplit(a, 2) |
| print(b) |
| print(c) |
| |
| |
| d, e = np.vsplit(a, 2) |
| print(d) |
| print(e) |
8. 数组排序
| a = np.array([3, 1, 2]) |
| print(np.sort(a)) |
| |
| b = np.array([[3, 1, 2], [6, 4, 5]]) |
| print(np.sort(b, axis=0)) |
| print(np.sort(b, axis=1)) |
9. 数组统计
| a = np.array([[1, 2, 3], [4, 5, 6]]) |
| |
| print(np.sum(a)) |
| print(np.mean(a)) |
| print(np.median(a)) |
| print(np.min(a)) |
| print(np.max(a)) |
| print(np.std(a)) |
| print(np.var(a)) |
10. 数组布尔操作
| a = np.array([1, 2, 3, 4, 5]) |
| b = np.array([0, 1, 2, 3, 4]) |
| |
| print(a > 3) |
| print(np.any(a > 3)) |
| print(np.all(a > 3)) |
11. 数组搜索和选择
| a = np.array([1, 2, 3, 4, 5]) |
| |
| |
| print(np.nonzero(a)) |
| |
| |
| b = np.where(a > 3, a, 0) |
| print(b) |
12. 文件读写
| |
| np.save('array.npy', a) |
| |
| |
| b = np.load('array.npy') |
| print(b) |
13. 高级功能
13.1 广播机制
| a = np.array([[1, 2, 3], [4, 5, 6]]) |
| b = np.array([1, 0, 1]) |
| |
| print(a + b) |
13.2 线性代数
| a = np.array([[1, 2], [3, 4]]) |
| b = np.array([[5, 6], [7, 8]]) |
| |
| |
| print(np.dot(a, b)) |
| |
| |
| print(np.linalg.inv(a)) |
14. 常用函数
-
生成等差数列:
| a = np.arange(0, 10, 2) |
| print(a) |
-
生成等比数列:
| a = np.linspace(0, 1, 5) |
| print(a) |
-
生成对数等比数列:
| a = np.logspace(0, 1, 5) |
| print(a) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本