Spec-Zone.ru › NumPy 2.0

numpy.pad

numpy.pad(array, pad_width, mode='constant', **kwargs)[source]

Заполнение массива.

Параметры:
arrayarray_like of rank N

Массив для заполнения.

pad_width{sequence, array_like, int}

Количество значений, добавляемых к краям каждого осей. ((before_1, after_1), ... (before_N, after_N)) уникальные значения заполнения для каждой оси. (before, after) или ((before, after),) приводит к одинаковому заполнению до и после для каждой оси. (pad,) или int является сокращением для before = after = pad width для всех осей.

modestr or function, optional

Одно из следующих строковых значений или функция, предоставляемая пользователем.

‘constant’ (по умолчанию)

Заполнение константой.

‘edge’

Заполнение значениями края массива.

‘linear_ramp’

Заполнение линейным градиентом между значением end и значением края массива.

‘maximum’

Заполнение максимальным значением всего или части вектора вдоль каждой оси.

‘mean’

Заполнение средним значением всего или части вектора вдоль каждой оси.

‘median’

Заполнение медианным значением всего или части вектора вдоль каждой оси.

‘minimum’

Заполнение минимальным значением всего или части вектора вдоль каждой оси.

‘reflect’

Заполнение отражением вектора, зеркально отображенным по первому и последнему значениям вектора вдоль каждой оси.

‘symmetric’

Заполнение отражением вектора, зеркально отображенным вдоль края массива.

‘wrap’

Заполнение с оберткой вектора вдоль оси. Первые значения используются для заполнения конца, а значения конца используются для заполнения начала.

‘empty’

Заполнение неопределенными значениями.

Добавлена в версии 1.17.

<function>

Функция заполнения, см. Примечания.

stat_lengthsequence or int, optional

Используется в ‘maximum’, ‘mean’, ‘median’ и ‘minimum’. Количество значений на краю каждой оси, используемых для вычисления статистического значения.

((before_1, after_1), ... (before_N, after_N)) уникальные статистические длины для каждой оси.

(before, after) или ((before, after),) приводит к одинаковым длинам статистики до и после для каждой оси.

(stat_length,) или int является сокращением для before = after = statistic длины для всех осей.

По умолчанию None, для использования всей оси.

constant_valuessequence or scalar, optional

Используется в ‘constant’. Значения для задания значений заполнения для каждой оси.

((before_1, after_1), ... (before_N, after_N)) уникальные константы заполнения для каждой оси.

(before, after) или ((before, after),) приводит к одинаковым константам заполнения до и после для каждой оси.

(constant,) или constant является сокращением для before = after = constant для всех осей.

По умолчанию 0.

end_valuessequence or scalar, optional

Используется в ‘linear_ramp’. Значения, используемые для конечного значения linear_ramp и которые сформируют край заполненного массива.

((before_1, after_1), ... (before_N, after_N)) уникальные конечные значения для каждой оси.

(before, after) или ((before, after),) приводит к одинаковым конечным значениям до и после для каждой оси.

(constant,) или constant является сокращением для before = after = constant для всех осей.

По умолчанию 0.

reflect_type{‘even’, ‘odd’}, optional

Используется в ‘reflect’ и ‘symmetric’. Стиль ‘even’ является стандартным со неизмененным отражением вокруг значения края. Для стиля ‘odd’ расширенная часть массива создается путем вычитания отраженных значений из двух раз значения края.

Возвращает:
padndarray

Заполненный массив ранга, равного array с увеличенной формой в соответствии с pad_width.

Примечания

Добавлена в версии 1.7.0.

Для массива с рангом больше 1, часть заполнения последующих осей рассчитывается из заполнения предыдущих осей. Это проще всего представить с помощью массива ранга 2, где углы заполненного массива вычисляются с помощью значений заполнения по первой оси.

Функция заполнения, если используется, должна изменять массив ранга 1 на месте. Она имеет следующий синтаксис:

padding_func(vector, iaxis_pad_width, iaxis, kwargs)

где

vectorndarray

Массив ранга 1, уже заполненный нулями. Заполненные значения — vector[:iaxis_pad_width[0]] и vector[-iaxis_pad_width[1]:].

iaxis_pad_widthtuple

Кортеж из 2 целых чисел, iaxis_pad_width[0] представляет количество значений, заполненных в начале вектора, где iaxis_pad_width[1] представляет количество значений, заполненных в конце вектора.

iaxisint

Ось, которая в настоящее время рассчитывается.

kwargsdict

Любые ключевые аргументы, необходимые функции.

Примеры

>>> a = [1, 2, 3, 4, 5]
>>> np.pad(a, (2, 3), 'constant', constant_values=(4, 6))
array([4, 4, 1, ..., 6, 6, 6])
>>> np.pad(a, (2, 3), 'edge')
array([1, 1, 1, ..., 5, 5, 5])
>>> np.pad(a, (2, 3), 'linear_ramp', end_values=(5, -4))
array([ 5,  3,  1,  2,  3,  4,  5,  2, -1, -4])
>>> np.pad(a, (2,), 'maximum')
array([5, 5, 1, 2, 3, 4, 5, 5, 5])
>>> np.pad(a, (2,), 'mean')
array([3, 3, 1, 2, 3, 4, 5, 3, 3])
>>> np.pad(a, (2,), 'median')
array([3, 3, 1, 2, 3, 4, 5, 3, 3])
>>> a = [[1, 2], [3, 4]]
>>> np.pad(a, ((3, 2), (2, 3)), 'minimum')
array([[1, 1, 1, 2, 1, 1, 1],
       [1, 1, 1, 2, 1, 1, 1],
       [1, 1, 1, 2, 1, 1, 1],
       [1, 1, 1, 2, 1, 1, 1],
       [3, 3, 3, 4, 3, 3, 3],
       [1, 1, 1, 2, 1, 1, 1],
       [1, 1, 1, 2, 1, 1, 1]])
>>> a = [1, 2, 3, 4, 5]
>>> np.pad(a, (2, 3), 'reflect')
array([3, 2, 1, 2, 3, 4, 5, 4, 3, 2])
>>> np.pad(a, (2, 3), 'reflect', reflect_type='odd')
array([-1,  0,  1,  2,  3,  4,  5,  6,  7,  8])
>>> np.pad(a, (2, 3), 'symmetric')
array([2, 1, 1, 2, 3, 4, 5, 5, 4, 3])
>>> np.pad(a, (2, 3), 'symmetric', reflect_type='odd')
array([0, 1, 1, 2, 3, 4, 5, 5, 6, 7])
>>> np.pad(a, (2, 3), 'wrap')
array([4, 5, 1, 2, 3, 4, 5, 1, 2, 3])
>>> def pad_with(vector, pad_width, iaxis, kwargs):
...     pad_value = kwargs.get('padder', 10)
...     vector[:pad_width[0]] = pad_value
...     vector[-pad_width[1]:] = pad_value
>>> a = np.arange(6)
>>> a = a.reshape((2, 3))
>>> np.pad(a, 2, pad_with)
array([[10, 10, 10, 10, 10, 10, 10],
       [10, 10, 10, 10, 10, 10, 10],
       [10, 10,  0,  1,  2, 10, 10],
       [10, 10,  3,  4,  5, 10, 10],
       [10, 10, 10, 10, 10, 10, 10],
       [10, 10, 10, 10, 10, 10, 10]])
>>> np.pad(a, 2, pad_with, padder=100)
array([[100, 100, 100, 100, 100, 100, 100],
       [100, 100, 100, 100, 100, 100, 100],
       [100, 100,   0,   1,   2, 100, 100],
       [100, 100,   3,   4,   5, 100, 100],
       [100, 100, 100, 100, 100, 100, 100],
       [100, 100, 100, 100, 100, 100, 100]])

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.pad.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API