Spec-Zone.ru › NumPy 1.12

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 : tuple
2-кортеж целых чисел, 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.12.0/reference/generated/numpy.pad.html

Spec-Zone.ru

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