numpy.resize#

numpy.resize(a, new_shape)[源代码]#

返回一个具有指定形状的新数组。

如果新数组比原始数组大,则新数组将用 a 的重复副本填充。请注意,此行为与 a.resize(new_shape) 不同,后者用零填充而不是 a 的重复副本。

参数:
a类数组对象

要调整大小的数组。

new_shapeint 或 int 元组

调整大小后的数组形状。

返回:
reshaped_arrayndarray

新数组由旧数组中的数据形成,如有必要则重复以填充所需数量的元素。数据以 C 顺序迭代数组来重复。

另请参阅

numpy.reshape

重新整形数组而不更改总大小。

numpy.pad

放大和填充数组。

numpy.repeat

重复数组中的元素。

ndarray.resize

原地调整数组大小。

备注

当数组的总大小不变时,应使用 reshape。在大多数其他情况下,索引(减小尺寸)或填充(增大尺寸)可能是更合适的解决方案。

警告:此功能单独考虑轴,即它不应用插值/外插。它用所需数量的元素填充返回数组,以 C 顺序迭代 a,忽略轴(如果新形状更大,则从开头循环回来)。因此,此功能不适合调整图像或每个轴代表独立且不同实体的数据的大小。

示例

>>> import numpy as np
>>> a = np.array([[0,1],[2,3]])
>>> np.resize(a,(2,3))
array([[0, 1, 2],
       [3, 0, 1]])
>>> np.resize(a,(1,4))
array([[0, 1, 2, 3]])
>>> np.resize(a,(2,4))
array([[0, 1, 2, 3],
       [0, 1, 2, 3]])