Горизонтальное разделение массива NumPy

Горизонтальное разделение массива с использованием np.hsplit() в NumPy

NumPy — это мощная библиотека для работы с массивами, и одной из её ключевых возможностей является гибкое разделение массивов. В этой статье мы подробно рассмотрим функцию np.hsplit(), предназначенную для горизонтального разделения массивов.

Введение в np.hsplit()

Функция np.hsplit() позволяет горизонтально (по столбцам) разделить массив на несколько подмассивов. В отличие от других функций разделения, таких как np.split(), которые требуют указания оси, np.hsplit() всегда действует по горизонтальной оси.

Синтаксис функции

numpy.hsplit(ary, indices_or_sections)
  • ary: Массив, который необходимо разделить.
  • indices_or_sections: Если это целое число, массив будет разделен на это количество одинаковых частей. Если это одномерный массив, то его значения указывают, где произвести разрез.

Простой пример

import numpy as np

# Исходный массив
array = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])

# Разделение массива на две части
split_arrays = np.hsplit(array, 2)

# Вывод результатов
for arr in split_arrays:
    print(arr)

В результате выполнения кода вы увидите:

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

Разделение массива с использованием одномерного массива

Вы также можете использовать одномерный массив для указания точек разреза:

array = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])

# Разделение массива по заданным индексам
split_arrays = np.hsplit(array, [1, 3])

# Вывод результатов
for arr in split_arrays:
    print(arr)

Результат:

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

Предостережения

  • Массив должен быть разделим на запрашиваемое количество частей. Например, массив из 5 столбцов нельзя разделить на 3 равные части.
  • Разделение одномерных массивов также возможно, но результатом будет список одномерных массивов.

Заключение

Функция np.hsplit() предоставляет гибкий инструмент для горизонтального разделения массивов в NumPy. Это простой, но мощный инструмент, который может быть полезен в многих ситуациях, связанных с обработкой и анализом данных.

Содержание: