当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NumPy reshape方法用法及代码示例


NumPy 的 reshape(~) 方法返回具有所需形状的新 NumPy 数组。如果重构后的数组包含的值多于原始数组,则数字将重复。

参数

1. a | array-like

输入数组。

2. shape | inttupleint

所需的形状。如果传递-1,则推断形状。请查看下面的示例以进行说明。

返回值

具有所需形状的新 NumPy 数组。

例子

从 1D 转换为 2D

考虑以下一维数组:

a = np.array([1,2,3,4,5,6])
a



array([1, 2, 3, 4, 5, 6])

要将其更改为 2 行 3 列的 2D 数组:

np.reshape(a, (2,3))



array([[1, 2, 3],
       [4, 5, 6]])

要将一维数组转换为只有一个元素的二维数组:

np.reshape(a, (1, a.size))



array([[1, 2, 3, 4, 5, 6]])

从 2D 转换为 1D

假设我们有以下二维数组:

a = np.array([[1,2],[3,4]])
a



array([[1, 2],
       [3, 4]])

要获得一维表示:

np.reshape(a, 4)



array([1, 2, 3, 4])

在这里,我们可以简单地使用 ravel(~) 方法来展平数组:

a = np.array([[1,2],[3,4]])
a.ravel()



array([1, 2, 3, 4])

推断形状

shape 中的值 -1 告诉 NumPy 推断合适的形状。例如:

np.reshape([1,2,3,4], [-1,1])



array([[1],
       [2],
       [3],
       [4]])

我们可以手动指定 [4,-1] 作为形状,但结果行数可以从以下方式推断:

  • 数组中值的数量

  • 列数(在本例中为1)。

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | reshape method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。