NumPy reshape()数组重塑的用法(附带实例)
数组重塑实际是更改数组的形状,例如,将原来 2 行 3 列的数组重塑为 3 行 4 列的数组。在 NumPy 中主要使用 reshape() 方法。
【实例 1】将一维数组重塑为二维数组。创建一个一维数组,然后通过 reshape() 方法将其改为 2 行 3 列的二维数组,程序代码如下:
【实例 2】将一行古诗(1 行 20 列的数组)转换为 4 行 5 列的二维数组形式,效果如下图所示:

图 1 数组重塑示意图
程序代码如下:
【实例 3】将 2 行 3 列的二维数组重塑为 3 行 2 列的二维数组,程序代码如下:
NumPy一维数组重塑
一维数组重塑就是将数组重塑为多行多列的数组。【实例 1】将一维数组重塑为二维数组。创建一个一维数组,然后通过 reshape() 方法将其改为 2 行 3 列的二维数组,程序代码如下:
import numpy as np # 导入 numpy 模块 n = np.arange(6) # 创建一维数组 print(n) n1 = n.reshape(2, 3) # 将数组重塑为 2 行 3 列的二维数组 print(n1)运行程序,结果如下:
[0 1 2 3 4 5]
[[0 1 2]
[3 4 5]]
【实例 2】将一行古诗(1 行 20 列的数组)转换为 4 行 5 列的二维数组形式,效果如下图所示:

图 1 数组重塑示意图
程序代码如下:
import numpy as np # 导入 numpy 模块 # 创建字符串数组 n = np.array(["床", "前", "明", "月", "光", "疑", "是", "地", "上", "霜", "举", "头", "望", "明", "月", "低", "头", "思", "故", "乡"]) n1 = n.reshape(4, 5) # 将一维数组重塑为 4 行 5 列的二维数组 print(n1)运行程序,结果如下:
[['床' '前' '明' '月' '光']
['疑' '是' '地' '上' '霜']
['举' '头' '望' '明' '月']
['低' '头' '思' '故' '乡']]
NumPy多维数组重塑
多维数组重塑同样使用 reshape() 方法。【实例 3】将 2 行 3 列的二维数组重塑为 3 行 2 列的二维数组,程序代码如下:
import numpy as np n = np.array([[0, 1, 2], [3, 4, 5]]) # 创建二维数组 print(n) n1 = n.reshape(3, 2) # 将数组重塑为 3 行 2 列的二维数组 print(n1)运行程序,结果如下:
[[0 1 2]
[3 4 5]]
[[0 1]
[2 3]
[4 5]]