Учебник по NumPy

ГЛАВНАЯ Введение в NumPy Начало работы с NumPy NumPy Создание массивов Индексация массива NumPy Нарезка массива NumPy Типы данных NumPy Копирование NumPy против просмотра Форма массива NumPy Изменение формы массива NumPy Итерация массива NumPy Объединение массивов NumPy Разделение массива NumPy Поиск массива NumPy Сортировка массива NumPy Фильтр массива NumPy

NumPy Случайный

Случайное вступление Распределение данных Случайная перестановка Морской модуль Нормальное распределение Биномиальное распределение Распределение рыбы Равномерное распределение Логистическая дистрибуция Полиномиальное распределение Экспоненциальное распределение Распределение площади Хи Рэлеевское распределение Распределение Парето Распределение Zipf

NumPy ufunc

Введение ufunc Создать функцию ufunc Простая арифметика ufunc Округление десятичных знаков Журналы UFUNC ufunc Суммирование продукты ufunc Отличия ufunc ufunc Поиск LCM ufunc Поиск НОД ufunc Тригонометрический ufunc Гиперболический ufunc набор операций

Викторина/Упражнения

Викторина NumPy NumPy-упражнения

Разделение массива NumPy


Разделение массивов NumPy

Разделение — это операция, обратная соединению.

Объединение объединяет несколько массивов в один, а разделение разбивает один массив на несколько.

Мы используем array_split()для разделения массивов, мы передаем ему массив, который мы хотим разделить, и количество разделений.

Пример

Разделите массив на 3 части:

import numpy as np

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

newarr = np.array_split(arr, 3)

print(newarr)

Примечание . Возвращаемое значение представляет собой массив, содержащий три массива.

Если в массиве меньше элементов, чем требуется, он будет соответствующим образом корректироваться с конца.

Пример

Разделите массив на 4 части:

import numpy as np

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

newarr = np.array_split(arr, 4)

print(newarr)

Примечание. У нас также есть этот метод split(), но он не будет корректировать элементы, когда элементов меньше в исходном массиве для разделения, как в примере выше, array_split()работал правильно, но split()не работал.



Разделить на массивы

Возвращаемое значение array_split()метода представляет собой массив, содержащий каждое разделение в виде массива.

Если вы разделите массив на 3 массива, вы можете получить к ним доступ из результата, как и к любому элементу массива:

Пример

Доступ к разделенным массивам:

import numpy as np

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

newarr = np.array_split(arr, 3)

print(newarr[0])
print(newarr[1])
print(newarr[2])

Разделение двумерных массивов

Используйте тот же синтаксис при разделении двумерных массивов.

Используйте array_split()метод, передайте массив, который вы хотите разделить, и количество разделений, которые вы хотите сделать.

Пример

Разделите двумерный массив на три двумерных массива.

import numpy as np

arr = np.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]])

newarr = np.array_split(arr, 3)

print(newarr)

В приведенном выше примере возвращаются три двумерных массива.

Давайте посмотрим на другой пример, на этот раз каждый элемент в двумерных массивах содержит 3 элемента.

Пример

Разделите двумерный массив на три двумерных массива.

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])

newarr = np.array_split(arr, 3)

print(newarr)

В приведенном выше примере возвращаются три двумерных массива.

Кроме того, вы можете указать, вокруг какой оси вы хотите выполнить разделение.

В приведенном ниже примере также возвращаются три двумерных массива, но они разбиты по строке (ось = 1).

Пример

Разделите двумерный массив на три двумерных массива вдоль строк.

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])

newarr = np.array_split(arr, 3, axis=1)

print(newarr)

Альтернативное решение использует hsplit()напротив hstack()

Пример

Используйте hsplit()метод, чтобы разделить двумерный массив на три двумерных массива вдоль строк.

import numpy as np

arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12], [13, 14, 15], [16, 17, 18]])

newarr = np.hsplit(arr, 3)

print(newarr)

Примечание. Аналогичные альтернативы vstack()и dstack()доступны как vsplit()и dsplit().