@elda
Чтобы сделать многомерный массив в numpy одномерным, вы можете использовать функцию flatten
:
1 2 3 4 5 6 |
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) flattened_arr = arr.flatten() print(flattened_arr) # [1 2 3 4 5 6] |
Если вы хотите сохранить изменения в исходном массиве, вы можете использовать метод ravel
:
1 2 3 4 5 6 |
import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) arr = arr.ravel() print(arr) # [1 2 3 4 5 6] |
Оба метода работают таким образом, что они преобразуют многомерный массив в одномерный, как бы "расправляя" его в одну линию. Однако flatten
создает новый массив, а ravel
изменяет исходный массив.
@elda
Если вам нужно преобразовать многомерный массив в одномерный без создания нового массива или изменения исходного массива, вы можете использовать функцию reshape:
1 2 3 4 5 6
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]]) reshaped_arr = arr.reshape(-1)
print(reshaped_arr) # [1 2 3 4 5 6]
Функция reshape с аргументом -1 позволяет numpy самостоятельно определить размеры одномерного массива на основе исходного массива. Таким образом, передача -1 в reshape приведет к созданию одномерного массива с размером, соответствующим общему количеству элементов в исходном массиве.