Функция ravel() используется для возврата одномерного массива, содержащего все элементы n-мерного входного массива. Если вы хотите сжать массив, используйте функцию numpy.ravel().
Что такое функция np.ravel() в Python?
Функция numpy.ravel() в Python помогает нам создавать многомерные массивы и получать другую математическую статистику. Например, функция ravel(array, order = ‘C’) возвращает непрерывный плоский массив(1D-массив со всеми элементами входного массива и с тем же типом, что и он). Копия делается только в случае необходимости.
Синтаксис
|
1 |
numpy.ravel(a, order='C') |
Параметры
- a: этот параметр отображает входной массив, в котором элементы считываются в порядке, указанном порядком, который дополнительно упаковывается в виде одномерного массива.
- order: аргумент порядка может быть либо C_contiguous, либо F_contiguous, где порядок C управляет ростом строки в массиве, а порядок F управляет операциями по столбцам.
Возвращаемое значение
Функция Numpy ravel() возвращает одномерный массив, содержащий все элементы входного массива с формой(a.size()).
Примеры программ с использованием метода np.ravel()
Пример 1
Программа для демонстрации работы функции ravel.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
import numpy as np arr = np.arange(6).reshape(3, 2) print('The original array:') print(arr, "\n") print('After applying ravel function:') print(arr.ravel()) #Maintaining F order print('ravel function in F-style ordering:') print(arr.ravel(order='F')) #K-order preserving the ordering print("\nnumpy.ravel() function in K-style ordering: ", arr.ravel(order='K')) |
Выход
|
1 2 3 4 5 6 7 8 9 10 11 |
The original array: [[0 1] [2 3] [4 5]] After applying ravel function: [0 1 2 3 4 5] ravel function in F-style ordering: [0 2 4 1 3 5] numpy.ravel() function in K-style ordering: [0 1 2 3 4 5] |
Объяснение
Здесь, в приведенном выше коде, 1-я функция использовалась для создания одномерного массива, в котором порядок не был указан, из-за того, что по умолчанию использовался тип порядка K.
2-я функция использовалась для создания одномерного массива, в котором использовалось упорядочение в стиле F, в котором элементы вставлялись в массив по столбцам. 3-я функция использовалась для создания одномерного массива, в котором использовалось упорядочение в стиле F, в котором элементы вставлялись в массив построчно.
Пример 2
|
1 2 3 4 5 6 7 8 9 10 11 |
import numpy as np arr = np.arange(6).reshape(3, 2) print("Array: \n", arr) # calling the numpy.ravel() function print("\nravel() value: ", arr.ravel()) # ravel() is equivalent to reshape(-1, order=order). print("\nnumpy.ravel() == numpy.reshape(-1)") print("Reshaping array : ", arr.reshape(-1)) |
Выход
|
1 2 3 4 5 6 7 8 9 |
Array: [[0 1] [2 3] [4 5]] ravel() value: [0 1 2 3 4 5] numpy.ravel() == numpy.reshape(-1) Reshaping array : [0 1 2 3 4 5] |
Объяснение
Здесь, в приведенном выше коде, 1-я функция использовалась для создания одномерного массива, в котором порядок не был указан, из-за того, что по умолчанию использовался тип порядка K. Вторая функция использовалась для создания одномерного массива с использованием функции изменения формы, в которой(-1) было передано в качестве аргумента, который ведет себя так же, как порядок типа K в функции ravel.
