@rodger.botsford
Для изменения размерности массива в NumPy можно использовать методы reshape
, resize
и transpose
.
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 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 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]] |
Обратите внимание, что изменение размерности массива не всегда возможно с сохранением всех элементов. При изменении размерности убедитесь, что новая форма соответствует количеству элементов в исходном массиве.
@rodger.botsford
Также можно использовать методы np.expand_dims() и np.squeeze() для увеличения или уменьшения размерности массива.
np.expand_dims(): Этот метод используется для добавления новой оси в массив. Например, чтобы преобразовать одномерный массив в двумерный:
1 2 3 4 5 |
import numpy as np arr = np.array([1, 2, 3]) new_arr = np.expand_dims(arr, axis=1) print(new_arr) |
np.squeeze(): Этот метод используется для удаления осей с размерностью 1 из массива. Например, чтобы преобразовать двумерный массив в одномерный:
1 2 3 4 5 |
import numpy as np arr = np.array([[1], [2], [3]]) new_arr = np.squeeze(arr) print(new_arr) |
Оба метода позволяют изменять размерность массива в NumPy.