Функция hsplit
Функция hsplit разделяет массив по горизонтали (вдоль оси столбцов) на несколько подмассивов. Первым параметром передается исходный массив, вторым - количество частей или индексы, по которым нужно выполнить разделение. Если передано число, массив разбивается на равные части (при условии, что он делится на это число без остатка). Если передан список индексов, разделение выполняется по указанным позициям.
Синтаксис
np.hsplit(arr, indices_or_sections)
Пример
Давайте разделим двумерный массив на две равные части по горизонтали:
import numpy as np
arr = np.array([[1, 2, 3, 4], [5, 6, 7, 8]])
res1, res2 = np.hsplit(arr, 2)
print("First part:\n", res1)
print("Second part:\n", res2)
Результат выполнения кода:
First part:
[[1 2]
[5 6]]
Second part:
[[3 4]
[7 8]]
Массив разделен на две части, каждая содержит по два столбца.
Пример
Разделим массив на три равные части по горизонтали:
import numpy as np
arr = np.array([[1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12]])
res1, res2, res3 = np.hsplit(arr, 3)
print("First part:\n", res1)
print("Second part:\n", res2)
print("Third part:\n", res3)
Результат выполнения кода:
First part:
[[1 2]
[7 8]]
Second part:
[[3 4]
[9 10]]
Third part:
[[5 6]
[11 12]]
Массив с шестью столбцами разделен на три части по два столбца каждая.
Пример
Разделим массив по указанным индексам:
import numpy as np
arr = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]])
res1, res2, res3 = np.hsplit(arr, [1, 3])
print("First part:\n", res1)
print("Second part:\n", res2)
print("Third part:\n", res3)
Результат выполнения кода:
First part:
[[1]
[6]]
Second part:
[[2 3]
[7 8]]
Third part:
[[4 5]
[9 10]]
Разделение выполнено после первого и третьего столбцов. Получилось три части: один столбец, два столбца и два столбца.
Пример
Разделим одномерный массив по горизонтали (это эквивалентно разделению по оси 0):
import numpy as np
arr = np.array([1, 2, 3, 4, 5, 6])
res1, res2 = np.hsplit(arr, 2)
print("First part:", res1)
print("Second part:", res2)
Результат выполнения кода:
First part: [1 2 3]
Second part: [4 5 6]
Для одномерного массива hsplit работает как разделение по оси 0.
Смотрите также
-
функцию
vsplit,
которая разделяет массив по вертикали (по строкам) -
функцию
dsplit,
которая разделяет массив по глубине (по третьей оси) -
функцию
split,
которая разделяет массив вдоль указанной оси -
функцию
array_split,
которая разделяет массив на части (с возможностью неравных частей)