NumPy — это основная библиотека для научных вычислений в Python. Она предоставляет множество высокопроизводительных математических функций для работы с массивами. В данной статье мы рассмотрим функцию np.vsplit()
, которая позволяет вертикально разделить массив на несколько подмассивов.
numpy.vsplit(ary, indices_or_sections)
ary
: Массив, который вы хотите разделить.indices_or_sections
: Целое число или одномерный массив целых чисел, который указывает, как разделить массив.import numpy as np
# Создание массива 6x3
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])
# Разделение массива на 3 равные части
sub_arrays = np.vsplit(array, 3)
for sub in sub_arrays:
print(sub)
print("-" * 10)
Результат:
[[1 2 3]
[4 5 6]]
----------
[[ 7 8 9]
[10 11 12]]
----------
[[13 14 15]
[16 17 18]]
----------
# Создание массива 6x3
array = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])
# Разделение массива на две части по 4-й строке
sub_arrays = np.vsplit(array, [4])
for sub in sub_arrays:
print(sub)
print("-" * 10)
Результат:
[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]
[10 11 12]]
----------
[[13 14 15]
[16 17 18]]
----------
np.vsplit()
с одномерным массивом: Эта функция предназначена для многомерных массивов. Для одномерных массивов используйте обычную индексацию или np.split()
.Преимущества:
np.vsplit()
, может быть более понятным, чем сложные схемы индексации.Недостатки:
Ограниченная гибкость
: функция np.vsplit()
работает только с вертикальным разделением. Для других типов разделения необходимо использовать другие функции, такие как np.hsplit()
или np.split()
.Используя np.vsplit()
, вы можете эффективно и наглядно разделить ваш массив или тензор на разные части. Это может быть полезно во многих сценариях, например, при разделении данных на обучающую и тестовую выборки или при обработке разных блоков данных по отдельности.
Всегда помните о структуре вашего массива и выбирайте соответствующий метод разделения. NumPy предоставляет множество утилит для работы с массивами, так что у вас всегда есть инструменты для решения вашей конкретной задачи!
Содержание: