📅  最后修改于: 2023-12-03 15:29:07.981000             🧑  作者: Mango
reshape()
是 numpy 中一个很常用的函数,它可以用来改变数组的形状。具体地说,它可以将一个以一维形式存储的数组重新调整为任何形状的多维数组。其中,-1
参数表示自动计算该轴的大小,以满足原始数组的要求。
numpy.reshape(a, newshape, order='C')
import numpy as np
# 创建一个形状为 1x6 的一维数组
arr = np.array([1, 2, 3, 4, 5, 6])
print("原数组:\n", arr)
# 将该一维数组转换为形状为 2x3 的二维数组
arr_2d = np.reshape(arr, (2, 3))
print("\n转换为二维数组:\n", arr_2d)
# 将该一维数组转换为形状为 3x2 的二维数组
arr_2d = np.reshape(arr, (3, 2))
print("\n转换为二维数组:\n", arr_2d)
# 将该一维数组转换为形状为 6x1 的二维数组
arr_2d = np.reshape(arr, (-1, 1))
print("\n转换为二维数组:\n", arr_2d)
输出:
原数组:
[1 2 3 4 5 6]
转换为二维数组:
[[1 2 3]
[4 5 6]]
转换为二维数组:
[[1 2]
[3 4]
[5 6]]
转换为二维数组:
[[1]
[2]
[3]
[4]
[5]
[6]]
如上所示,通过 reshape()
函数可以轻松地将一维数组转换为多维数组,同时可以设置维度大小为 -1
,让系统自动匹配大小。