Как изменить размерность numpy array?

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

от rodger.botsford , в категории: Python , 2 месяца назад

Как изменить размерность numpy array?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

от francis_schuster , 2 месяца назад

@rodger.botsford 

Для изменения размерности массива в NumPy можно использовать методы reshape, resize и transpose.

  1. reshape: Метод reshape преобразует массив в новую форму без изменения исходных данных. Он принимает один параметр - размерность нового массива. Например:
1
2
3
4
5
import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])
new_arr = arr.reshape((2, 3))
print(new_arr)


Вывод:

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


  1. resize: Метод resize изменяет размерность массива, меняя его форму и при необходимости повторяя или удаляя элементы. Он может принимать в качестве параметров новую форму массива и опционально метод изменения формы (refcheck). Например:
1
2
3
4
5
import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])
arr.resize((2, 4))
print(arr)


Вывод:

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


  1. transpose: Метод transpose меняет размерность массива, меняя его форму и порядок элементов. Он не принимает параметров. Например:
1
2
3
4
5
6
import numpy as np

arr = np.array([[1, 2, 3],
                [4, 5, 6]])
new_arr = arr.transpose()
print(new_arr)


Вывод:

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


Обратите внимание, что изменение размерности массива не всегда возможно с сохранением всех элементов. При изменении размерности убедитесь, что новая форма соответствует количеству элементов в исходном массиве.