Spec-Zone.ru › NumPy 1.15

numpy.pad

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

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

Параметры:
array : array_like of rank N

Входной массив

pad_width : {sequence, array_like, int}

Количество значений, добавляемых к границам каждой оси. ((перед_1, после_1), … (перед_N, после_N)) уникальные значения заполнения для каждой оси. ((перед, после),) приводит к одинаковому заполнению перед и после для каждой оси. (заполнение,) или целое число — это сокращение для перед = после = значения заполнения для всех осей.

mode : str or function

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

‘constant’

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

‘edge’

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

‘linear_ramp’

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

‘maximum’

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

‘mean’

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

‘median’

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

‘minimum’

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

‘reflect’

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

‘symmetric’

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

‘wrap’

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

<функция>

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

stat_length : sequence or int, optional

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

((перед_1, после_1), … (перед_N, после_N)) уникальные длины статистики для каждой оси.

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

(длина_статистики,) или целое число — это сокращение для перед = после = длина статистики для всех осей.

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

constant_values : sequence or int, optional

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

((перед_1, после_1), … (перед_N, после_N)) уникальные константы заполнения для каждой оси.

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

(константа,) или целое число — это сокращение для перед = после = константа для всех осей.

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

end_values : sequence or int, optional

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

((перед_1, после_1), … (перед_N, после_N)) уникальные конечные значения для каждой оси.

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

(константа,) или целое число — это сокращение для перед = после = конечное значение для всех осей.

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

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

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

Возвращает:
pad : ndarray

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

Примечания

Введено в версии 1.7.0.

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

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

padding_func(vector, iaxis_pad_width, iaxis, kwargs)

где

vector : ndarray
Массив ранга 1, уже заполненный нулями. Заполненные значения — vector[:pad_tuple[0]] и vector[-pad_tuple[1]:].
iaxis_pad_width : tuple
Двухэлементная кортеж целых чисел, iaxis_pad_width[0] представляет количество значений, заполненных в начале vector, а iaxis_pad_width[1] представляет количество значений, заполненных в конце vector.
iaxis : int
Ось, которая в настоящее время вычисляется.
kwargs : dict
Любые ключевые аргументы, требуемые функцией.

Примеры

>>> a = [1, 2, 3, 4, 5]
>>> np.pad(a, (2,3), 'constant', constant_values=(4, 6))
array([4, 4, 1, 2, 3, 4, 5, 6, 6, 6])
>>> np.pad(a, (2, 3), 'edge')
array([1, 1, 1, 2, 3, 4, 5, 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
...     return vector
>>> 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–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.15.4/reference/generated/numpy.pad.html

Spec-Zone.ru

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