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

# Create a 2D array
a = np.array([[1, 2, 3], [4, 5, 6]])

print('First array:')
print(a)
print('\n')

print('The shape of the first array:')
print(a.shape)
print('\n')

# Resize the array to shape (3, 2)
b = np.resize(a, (3, 2))

print('Second array:')
print(b)
print('\n')

print('The shape of the second array:')
print(b.shape)
print('\n')

# Resize the array to shape (3, 3)
# Note: This will repeat elements of 'a' to fill the new shape
print('Resize the second array:')
b = np.resize(a, (3, 3))
print(b)

以上程序将产生以下输出:

First array:
[[1 2 3]
 [4 5 6]]

The shape of first array:
(2, 3)

Second array:
[[1 2]
 [3 4]
 [5 6]]

The shape of second array:
(3, 2)

Resize the second array:
[[1 2 3]
 [4 5 6]
 [1 2 3]]

示例 2

以下是另一个将大小为 4x3 的给定数组调整为 6x2 和 3x4 的示例:

import numpy as np

# Create an initial 4x3 array
array = np.array([[1, 2, 3], [4, 5, 6],[7,8,9],[10,11,12]])

print("Original array:")
print(array)
print("\n")

# Resize the array to shape (6, 2)
resized_array = np.resize(array, (6, 2))

print("Resized array to shape (6, 2):")
print(resized_array)
print("\n")

# Resize the array to shape (3, 4)
resized_array_larger = np.resize(array, (3, 4))

print("Resized array to shape (3, 4) with repeated elements:")
print(resized_array_larger)

以上程序将产生以下输出:

Original array:
[[ 1  2  3]
 [ 4  5  6]
 [ 7  8  9]
 [10 11 12]]


Resized array to shape (6, 2):
[[ 1  2]
 [ 3  4]
 [ 5  6]
 [ 7  8]
 [ 9 10]
 [11 12]]


Resized array to shape (3, 4) with repeated elements:
[[ 1  2  3  4]
 [ 5  6  7  8]
 [ 9 10 11 12]]
numpy_array_manipulation.htm
广告