Как изменить размер массива NumPy?

Пользователь

от camren , в категории: Python , 2 года назад

Как изменить размер массива NumPy?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от willa_will , 2 года назад

@camren 

Чтобы изменить размер массива NumPy, можно использовать метод reshape() для создания нового массива с новой формой, соответствующей новому размеру. Метод reshape() не изменяет исходный массив, а возвращает новый массив с заданной формой.


Вот пример, как изменить размер массива NumPy:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import numpy as np

# Создаем массив 2x3
arr = np.array([[1, 2, 3], [4, 5, 6]])

# Изменяем размер массива на 3x2
new_arr = arr.reshape((3, 2))

# Выводим новый массив
print(new_arr)


Вывод:

1
2
3
[[1 2]
 [3 4]
 [5 6]]


Метод reshape() также можно использовать для изменения размерности массива. Например, чтобы преобразовать одномерный массив в двумерный массив с одним столбцом, можно использовать следующий код:

1
2
3
4
5
6
7
8
# Создаем одномерный массив
arr = np.array([1, 2, 3, 4, 5])

# Изменяем размерность массива на (5, 1)
new_arr = arr.reshape((5, 1))

# Выводим новый массив
print(new_arr)


Вывод:

1
2
3
4
5
[[1]
 [2]
 [3]
 [4]
 [5]]


Также можно использовать методы resize() или append() для изменения размера массива NumPy, но эти методы изменяют исходный массив, в отличие от reshape().

Пользователь

от caterina , 8 месяцев назад

@camren 

Есть несколько способов изменить размер массива NumPy:

  1. Используя метод reshape(): Как показано в примере выше, метод reshape() создает новый массив с указанной формой, не изменяя исходный массив.
  2. Используя метод resize(): Метод resize() изменяет размер исходного массива, заполняя новые элементы нулями или повторяя существующие элементы при необходимости.
1
2
3
4
5
import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6]])
arr.resize((3,3))  # Изменяем размер массива на 3x3
print(arr)


  1. Используя функцию np.append(): Функция np.append() может быть использована для добавления новых элементов в массив NumPy, однако это приведет к созданию нового массива, а не изменению размера существующего.
1
2
3
4
5
import numpy as np

arr = np.array([1, 2, 3])
new_arr = np.append(arr, [4, 5, 6])  # Добавляем новые элементы в массив
print(new_arr)


Выбор метода зависит от вашей конкретной задачи и требований к изменению массива NumPy.