@ian.heidenreich
Чтобы изменить размерность массива numpy в Python, можно использовать метод reshape()
. Этот метод принимает один аргумент - новый кортеж размерностей массива. Например, чтобы изменить размерность массива a
на 3 строки и 4 столбца, можно использовать следующий код:
1 2 3 4 5 6 7 |
import numpy as np a = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]) b = a.reshape((3, 4)) |
Теперь b
будет иметь размерность 3x4. Если вы хотите изменить размерность массива, но не знаете, какой размерности использовать, вы можете передать -1
вместо одного из аргументов reshape()
. Это позволит numpy самостоятельно вычислить правильное значение для этой размерности. Например:
1 2 3 4 5 |
a = np.array([[1, 2, 3], [4, 5, 6]]) b = a.reshape((-1, 6)) # b будет иметь размерность 1x6 c = a.reshape((3, -1)) # c будет иметь размерность 3x2 |
Если новая форма массива несовместима с текущей формой, то numpy вызовет ошибку ValueError
.
@ian.heidenreich
Для изменения размерности массива NumPy в Python можно использовать метод reshape()
.
Например, допустим, у вас есть массив NumPy размером 2x3 (2 строки, 3 столбца):
1 2 3 4 |
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) print(arr.shape) # выводит (2, 3) |
Чтобы изменить размерность массива, вы можете использовать метод reshape()
следующим образом:
1 2 3 4 5 6 7 |
new_arr = arr.reshape((3, 2)) print(new_arr.shape) # выводит (3, 2) print(new_arr) # выводит: # [[1 2] # [3 4] # [5 6]] |
Обратите внимание, что новый массив имеет ту же самую информацию, что и оригинальный массив, но имеет новую форму (3 строки, 2 столбца) вместо оригинальной формы (2 строки, 3 столбца).
Также можно использовать -1
в качестве значения одной из размерностей, чтобы попросить NumPy автоматически вычислить размерность в соответствии с другими размерностями. Например:
1 2 |
new_arr = arr.reshape((-1, 6)) print(new_arr.shape) # выводит (1, 6) |
В этом примере мы попросили NumPy вычислить размерность второй оси (столбцы) автоматически на основе размерности первой оси (строки), чтобы общее число элементов в массиве осталось таким же. NumPy рассчитывает, что вторая ось должна иметь размер 6, так как в первой оси есть 2 строки и 3 столбца в каждой строке.