Spec-Zone.ru › NumPy 1.13

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)) уникальные длины статистических значений для каждой оси.

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

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

По умолчанию 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 часть заполнения последующих осей рассчитывается по части заполнения предыдущих осей. Это легче всего представить себе на примере двумерного массива, где углы заполненного массива рассчитываются с использованием значений, заполненных по первой оси.

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

padding_func(vector, iaxis_pad_width, iaxis, **kwargs)

где

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

Примеры

>>> 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–2017 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.pad.html

Spec-Zone.ru

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