Spec-Zone.ru › NumPy 1.11

numpy.pad

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

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

Параметры:

array : массив ранга N

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

pad_width : {последовательность, массив, целое число}

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

mode : строка или функция

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

‘constant’

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

‘edge’

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

‘linear_ramp’

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

‘maximum’

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

‘mean’

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

‘median’

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

‘minimum’

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

‘reflect’

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

‘symmetric’

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

‘wrap’

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

<функция>

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

stat_length : последовательность или целое число, необязательно

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

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

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

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

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

constant_values : последовательность или целое число, необязательно

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

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

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

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

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

end_values : последовательность или целое число, необязательно

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

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

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

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

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

reflect_type : {‘even’, ‘odd’}, необязательно

Используется в ‘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 : кортеж
Кортеж из 2 целых чисел, iaxis_pad_width[0] представляет количество значений, заполненных в начале vector, а iaxis_pad_width[1] — количество значений, заполненных в конце vector.
iaxis : целое число
Ось, которая в данный момент рассчитывается.
kwargs : разное
Любые ключевые аргументы, которые функция требует.

Примеры

>>> a = [1, 2, 3, 4, 5]
>>> np.lib.pad(a, (2,3), 'constant', constant_values=(4, 6))
array([4, 4, 1, 2, 3, 4, 5, 6, 6, 6])
>>> np.lib.pad(a, (2, 3), 'edge')
array([1, 1, 1, 2, 3, 4, 5, 5, 5, 5])
>>> np.lib.pad(a, (2, 3), 'linear_ramp', end_values=(5, -4))
array([ 5,  3,  1,  2,  3,  4,  5,  2, -1, -4])
>>> np.lib.pad(a, (2,), 'maximum')
array([5, 5, 1, 2, 3, 4, 5, 5, 5])
>>> np.lib.pad(a, (2,), 'mean')
array([3, 3, 1, 2, 3, 4, 5, 3, 3])
>>> np.lib.pad(a, (2,), 'median')
array([3, 3, 1, 2, 3, 4, 5, 3, 3])
>>> a = [[1, 2], [3, 4]]
>>> np.lib.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.lib.pad(a, (2, 3), 'reflect')
array([3, 2, 1, 2, 3, 4, 5, 4, 3, 2])
>>> np.lib.pad(a, (2, 3), 'reflect', reflect_type='odd')
array([-1,  0,  1,  2,  3,  4,  5,  6,  7,  8])
>>> np.lib.pad(a, (2, 3), 'symmetric')
array([2, 1, 1, 2, 3, 4, 5, 5, 4, 3])
>>> np.lib.pad(a, (2, 3), 'symmetric', reflect_type='odd')
array([0, 1, 1, 2, 3, 4, 5, 5, 6, 7])
>>> np.lib.pad(a, (2, 3), 'wrap')
array([4, 5, 1, 2, 3, 4, 5, 1, 2, 3])
>>> def padwithtens(vector, pad_width, iaxis, kwargs):
...     vector[:pad_width[0]] = 10
...     vector[-pad_width[1]:] = 10
...     return vector
>>> a = np.arange(6)
>>> a = a.reshape((2, 3))
>>> np.lib.pad(a, 2, padwithtens)
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]])

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.pad.html

Spec-Zone.ru

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