Numpy中的resize()函数用于调整数组的大小,它的操作方式与reshape()函数有些相似,但resize()函数不会限制调整后数组的大小。
resize()函数的语法如下:
numpy.resize(arr, shape)
其中,arr为需要调整大小的数组,shape为调整后的目标大小。需要注意的是,shape必须是一个整数或者是一个整数元组。
现在我们来看两个实例:
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
print('原数组:', a)
b = np.resize(a,(3,2))
print('resize后数组:', b)
输出结果为:
原数组: [[1 2 3]
[4 5 6]]
resize后数组: [[1 2]
[3 4]
[5 6]]
在这个实例中,我们首先定义了一个形状为(2,3)的ndarray,然后使用resize()函数将它调整为了(3,2)的ndarray。可以看到,原数组的每一行依次排列在resize后数组的每一列中,并且resize()函数会对原数组进行重复填充以满足目标大小。
import numpy as np
a = np.array([[1,2,3],[4,5,6]])
b = np.resize(a,(3,4))
print('resize后数组:', b)
输出结果为:
resize后数组: [[1 2 3 4]
[5 6 1 2]
[3 4 5 6]]
在这个实例中,我们同样调整了一个形状为(2,3)的ndarray,但是目标大小设置为了(3,4)。这时候,resize()函数会将原数组复制列扩展到目标大小,并且会对原数组也会进行重复填充以满足目标大小。
除此之外,我们还可以通过reshape()函数进行对ndarray的大小调整,但是它与resize()函数的区别在于:reshape()函数需要保证调整后数组的元素数量与调整前数组的元素数量相等,否则会抛出异常;而resize()函数则可以对调整后的数组进行扩展或压缩。
本文链接:http://task.lmcjl.com/news/4402.html