详解Numpy resize()(改变数组的大小)函数的作用与使用方法

Numpy中的resize()函数用于调整数组的大小,它的操作方式与reshape()函数有些相似,但resize()函数不会限制调整后数组的大小。

resize()函数的语法如下:

numpy.resize(arr, shape)

其中,arr为需要调整大小的数组,shape为调整后的目标大小。需要注意的是,shape必须是一个整数或者是一个整数元组。

现在我们来看两个实例:

实例1

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()函数会对原数组进行重复填充以满足目标大小。

实例2

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()函数则可以对调整后的数组进行扩展或压缩。

本文链接:https://my.lmcjl.com/post/19805.html

展开阅读全文

4 评论

留下您的评论.