Модул нумпи у Питхон-у обезбеђује функцију звану нумпи.пад() за обављање допуна у низу. Ова функција има неколико обавезних и опционих параметара.
Синтакса:
numpy.pad(array, pad_width, mode='constant', **kwargs)
Параметри:
низ: арраи_лике
Ово је изворни низ који желимо да додамо.
пад_видтх: инт, секвенца или низ_лике
Овај параметар дефинише број вредности које се додају на ивице сваке осе. Јединствене ширине поља за сваку осу су дефинисане као (пре_1, после_1), (пре_2, после_2), ... (пре_Н, после_Н)). За сваку осу, ((пре, после)) ће се третирати као пре и после подлоге. За све осе, инт, или (пад,) је пречица до пре = после = ширине поља.
режим: стр или функција (опционо)
Овај параметар има једну од следећих вредности низа:
'константно' (подразумевано)
цаст скл
Ако параметру режима доделимо константну вредност, допуна ће бити урађена са константном вредношћу.
'Ивица'
То је вредност ивице низа. Допуна ће бити обављена са овом вредношћу ивице.
'линеарна_рампа'
Ова вредност се користи за обављање допуна са линеарном рампом између вредности ивице и крајње вредности.
'максимум'
Ова вредност параметра врши допуну користећи максималну вредност векторског дела или целог, дуж сваке осе.
'значити'
Ова вредност параметра врши допуну преко средње вредности векторског дела или целог, дуж сваке осе.
'средња'
Ова вредност параметра врши допуну преко средње вредности векторског дела или целог, дуж сваке осе.
'минимум'
Ова вредност параметра врши допуну преко минималне вредности векторског дела или целог, дуж сваке осе.
'одразити'
Ова вредност попуњава низ преко векторске рефлексије, која се огледа на почетној и крајњој вредности вектора, дуж сваке осе.
'симетрично'
Ова вредност се користи за попуњавање низа преко векторске рефлексије, која се огледа дуж ивице низа.
'замотати'
Ова вредност се користи за допуну низа преко премотавања вектора дуж осе. Почетне вредности се користе за попуњавање краја, а завршне вредности за пуњење почетка.
'празан'
Ова вредност се користи за попуњавање низа недефинисаним вредностима.
стат_ленгтх: инт или секвенца (опционо)
Овај параметар се користи у 'максимум', 'минимум', 'средња', 'средња'. Дефинише број вредности на свакој ивичној оси, која се користи за израчунавање статичке вредности.
константне_вредности: скалар или низ (опционо)
Овај параметар се користи у 'константи'. Он дефинише вредности за постављање допуњених вредности за сваку осу.
крајње_вредности: скалар или низ (опционо)
Овај параметар се користи у 'линеар_рамп'. Он дефинише вредности које се користе за последњу вредност линеар_рамп и формираће ивицу подстављеног низа.
рефлекс_тип: паран или непаран (опционо)
Овај параметар се користи за 'симетрично' и 'рефлектовање'. Подразумевано, рефлецт_типе је 'паран' са непромењеном рефлексијом око вредности ивице. Одузимањем рефлектованих вредности од двоструке вредности ивице, проширени део низа се креира за 'непарни' стил.
враћа:
пад: ндарраи
Ова функција враћа подстављени низ ранга једнак низу, чији се облик повећава према пад_видтх.
Пример 1:
import numpy as np x = [1, 3, 2, 5, 4] y = np.pad(x, (3, 2), 'constant', constant_values=(6, 4)) y
Излаз:
array([6, 6, 6, 1, 3, 2, 5, 4, 4, 4])
У горњем коду
- Увезли смо нумпи са псеудонимом нп.
- Направили смо листу вредности к.
- Декларисали смо променљиву и и доделили враћену вредност функције нп.пад().
- Проследили смо листу к, пад_видтх, поставили режим на константан и константне_вредности у функцији.
- На крају, покушали смо да одштампамо вредност и.
У излазу приказује ндарраи напуњен дефинисаном величином и вредностима.
Пример 2:
import numpy as np x = [1, 3, 2, 5, 4] y = np.pad(x, (3, 2), 'edge') y
Излаз:
array([1, 1, 1, 1, 3, 2, 5, 4, 4, 4])
Пример 3:
import numpy as np x = [1, 3, 2, 5, 4] y = np.pad(x, (3, 2), 'linear_ramp', end_values=(-4, 5)) y
Излаз:
array([-4, -2, 0, 1, 3, 2, 5, 4, 4, 5])
Пример 4:
import numpy as np x = [1, 3, 2, 5, 4] y = np.pad(x, (3,), 'maximum') y
Излаз:
array([5, 5, 5, 1, 3, 2, 5, 4, 5, 5, 5])
Пример 5:
import numpy as np x = [1, 3, 2, 5, 4] y = np.pad(x, (3,), 'mean') y
Излаз:
array([3, 3, 3, 1, 3, 2, 5, 4, 3, 3, 3])
Пример 6:
import numpy as np x = [1, 3, 2, 5, 4] y = np.pad(x, (3,), 'median') y
Излаз:
array([3, 3, 3, 1, 3, 2, 5, 4, 3, 3, 3])
Пример 7:
import numpy as np a = [[1, 2], [3, 4]] y = np.pad(x, (3,), 'minimum') y
Излаз:
array([[1, 1, 1, 1, 2, 1, 1], [1, 1, 1, 1, 2, 1, 1], [1, 1, 1, 1, 2, 1, 1], [3, 3, 3, 3, 4, 3, 3], [1, 1, 1, 1, 2, 1, 1], [1, 1, 1, 1, 2, 1, 1], [1, 1, 1, 1, 2, 1, 1]])
Пример 8:
import numpy as np def pad_with(vector, pad_width, iaxis, kwargs): padding_value = kwargs.get('padder', 10) vector[:pad_width[0]] = padding_value vector[-pad_width[1]:] = padding_value x = np.arange(6) x = x.reshape((3, 2)) y = np.pad(x, 3, pad_with) y
Излаз:
array([41, 31, 21, 11, 21, 31, 41, 51, 41, 31])
У горњем коду
- Увезли смо нумпи са псеудонимом нп.
- Направили смо функцију пад_витх са вектор , пад_видтх , иакис , и кваргс .
- Декларисали смо променљиву пад_валуе да бисмо добили вредности допуна из добити() функција.
- Проследили смо вредности допуна делу вектора.
- Направили смо низ к користећи функцију нп.аранге() и променили облик помоћу функције ресхапе().
- Декларисали смо променљиву и и доделили враћену вредност функције нп.пад().
- Проследили смо листу к и пад_видтх у функцију
- На крају, покушали смо да одштампамо вредност и.
У излазу приказује ндарраи напуњен дефинисаном величином и вредностима.
Пример 9:
import numpy as np import numpy as np def pad_with(vector, pad_width, iaxis, kwargs): padding_value = kwargs.get('padder', 10) vector[:pad_width[0]] = padding_value vector[-pad_width[1]:] = padding_value x = np.arange(6) x = x.reshape((3, 2)) np.pad(x, 3, pad_with)
Излаз:
алфа-бета обрезивање
array([[10, 10, 10, 10, 10, 10, 10, 10], [10, 10, 10, 10, 10, 10, 10, 10], [10, 10, 10, 10, 10, 10, 10, 10], [10, 10, 10, 0, 1, 10, 10, 10], [10, 10, 10, 2, 3, 10, 10, 10], [10, 10, 10, 4, 5, 10, 10, 10], [10, 10, 10, 10, 10, 10, 10, 10], [10, 10, 10, 10, 10, 10, 10, 10], [10, 10, 10, 10, 10, 10, 10, 10]])
Пример 10:
import numpy as np import numpy as np 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 x = np.arange(6) x = x.reshape((3, 2)) np.pad(x, 3, pad_with, padder=100)
Излаз:
array([[100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 0, 1, 100, 100, 100], [100, 100, 100, 2, 3, 100, 100, 100], [100, 100, 100, 4, 5, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100], [100, 100, 100, 100, 100, 100, 100, 100]])