Функция resize
Функция resize возвращает новый массив
с заданной формой. При увеличении размера
недостающие элементы заполняются повторением
исходного массива. При уменьшении размера
лишние элементы отбрасываются.
Первым параметром функция принимает исходный
массив, вторым - кортеж с новой формой.
Важно: в отличие от метода resize,
функция всегда возвращает новый массив,
не изменяя исходный.
Синтаксис
np.resize(a, new_shape)
Пример
Давайте изменим одномерный массив из пяти элементов на массив формы (2, 3):
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = np.resize(arr, (2, 3))
print(res)
Результат выполнения кода:
[[1 2 3]
[4 5 1]]
Массив был повторён, чтобы заполнить все шесть элементов новой формы.
Пример
Давайте уменьшим размер двумерного массива до формы (2, 2):
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
res = np.resize(arr, (2, 2))
print(res)
Результат выполнения кода:
[[1 2]
[3 4]]
При уменьшении размера лишние элементы отбрасываются, данные читаются по порядку вдоль строк.
Пример
Давайте изменим одномерный массив на массив большего размера:
import numpy as np
arr = np.array([1, 2, 3])
res = np.resize(arr, (2, 4))
print(res)
Результат выполнения кода:
[[1 2 3 1]
[2 3 1 2]]
Исходный массив повторяется циклически, чтобы заполнить все элементы нового размера.
Пример
Давайте рассмотрим отличие функции
resize от метода resize:
import numpy as np
arr = np.array([1, 2, 3, 4])
# Функция возвращает новый массив
res_func = np.resize(arr, (3, 2))
# Метод изменяет массив на месте
arr.resize((2, 2))
print("Function result:", res_func)
print("Original after resize:", arr)
Результат выполнения кода:
Function result: [[1 2]
[3 4]
[1 2]]
Original after resize: [[1 2]
[3 4]]