numpy.resize#

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

返回具有指定形状的新数组.

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

参数:
aarray_like

要调整大小的数组.

new_shapeint or tuple of 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]])