Spec-Zone.ru › NumPy 1.19

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),) приводит к одинаковым значениям заполнения перед и после для каждой оси. (pad,) или int — это сокращение для before = after = значения заполнения для всех осей.

modestr or function, optional

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

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

Заполняет константным значением.

‘edge’

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

‘linear_ramp’

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

‘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),) приводит к одинаковым длинам статистических значений перед и после для каждой оси.

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

По умолчанию None, чтобы использовать всю ось.

constant_valuessequence or scalar, optional

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

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

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

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

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

end_valuessequence or scalar, optional

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

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

((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] представляет количество значений, заполненных в начале vector, где iaxis_pad_width[1] представляет количество значений, заполненных в конце vector.

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–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.19/reference/generated/numpy.pad.html

Spec-Zone.ru

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