Numpy resize() 函数
Numpy resize() 函数返回一个具有指定形状的新数组,并调整输入数组的大小。reshape() 函数要求元素总数保持不变,而 resize() 函数可以通过截断或填充数组来更改元素总数。
如果新形状大于原始形状,则使用原始数据的重复副本填充数组。如果小于,则数组将被截断。
此函数将输入数组和新形状作为参数,并可选地接受一个 refcheck 参数,用于控制是否检查对原始数组的引用。
语法
以下是 Numpy resize() 函数的语法 -
numpy.resize(arr, shape)
参数
以下是 Numpy resize() 函数的参数 -
- arr: 需要调整大小的输入数组。
- shape: 结果数组的新形状。
- shape: 结果数组的新形状数组。
示例 1
以下是 Numpy resize() 函数的示例,该函数展示了如何通过截断或重复元素来重塑二维数组,以适应新的指定维度 -
import numpy as np # 创建二维数组 a = np.array([[1, 2, 3], [4, 5, 6]]) print('第一个数组:') print(a) print(' ') print('第一个数组的形状:') print(a.shape) print(' ') # 将数组大小调整为形状 (3, 2) b = np.resize(a, (3, 2)) print('第二个数组:') print(b) print(' ') print('第二个数组的形状:') print(b.shape) print(' ') # 将数组大小调整为形状 (3, 3) # 注意:这将重复 'a' 中的元素以填充新的形状 print('调整第二个数组的大小:') b = np.resize(a, (3, 3)) print(b)
上述程序将产生以下输出 -
第一个数组: [[1 2 3] [4 5 6]] 第一个数组的形状: (2, 3) 第二个数组: [[1 2] [3 4] [5 6]] 第二个数组的形状: (3, 2) 调整第二个数组的大小: [[1 2 3] [4 5 6] [1 2 3]]
示例 2
下面是另一个示例,将给定的 4x3 数组调整为 6x2 和 3x4 数组 -
import numpy as np # 创建一个初始的 4x3 数组 array = np.array([[1, 2, 3], [4, 5, 6],[7,8,9],[10,11,12]]) print("原始数组:") print(array) print(" ") # 将数组大小调整为形状 (6, 2) resized_array = np.resize(array, (6, 2)) print("调整后的数组形状为 (6, 2):") print(resized_array) print(" ") # 将数组大小调整为形状 (3, 4) resized_array_larger = np.resize(array, (3, 4)) print("调整后的数组形状为 (3, 4),包含重复元素:") print(resized_array_larger)
上述程序将产生以下输出−
原始数组: [[ 1 2 3] [ 4 5 6] [ 7 8 9] [10 11 12]] 调整大小后的数组形状为 (6, 2): [[ 1 2] [ 3 4] [ 5 6] [ 7 8] [ 9 10] [11 12]] 调整大小后的数组形状为 (3, 4),包含重复元素: [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12]]