logo

numpy.pad() Python

Python modulis numpy suteikia funkciją, vadinamą numpy.pad(), kuri atlieka užpildymą masyve. Ši funkcija turi keletą būtinų ir pasirenkamų parametrų.

Sintaksė:

 numpy.pad(array, pad_width, mode='constant', **kwargs) 

Parametrai:

masyvas: array_like

Tai yra šaltinio masyvas, kurį norime papildyti.

pad_width: int, seka arba array_like

Šis parametras apibrėžia reikšmių, kurios yra paminkštintos prie kiekvienos ašies kraštų, skaičių. Kiekvienos ašies unikalūs trinkelių pločiai apibrėžiami kaip (prieš_1, po_1), (prieš_2, po_2), ... (prieš_N, po_N)). Kiekvienai ašiai ((prieš, po)) bus traktuojama taip pat, kaip prieš ir po trinkelės. Visoms ašims int arba (pad,) yra nuoroda į prieš = po = pad plotis.

režimas: str arba funkcija (neprivaloma)

Šis parametras turi vieną iš šių eilutės reikšmių:

'pastovus' (numatytasis)

burbulų rūšiavimo python

Jei režimo parametrui priskirsime pastovią reikšmę, užpildymas bus atliktas su pastovia reikšme.

'kraštas'

Tai yra masyvo krašto reikšmė. Paminkštinimas bus atliktas naudojant šią krašto reikšmę.

'linijinis_rampas'

Ši vertė naudojama užpildymui atlikti naudojant tiesinę rampą tarp krašto vertės ir galinės reikšmės.

'maksimaliai'

Ši parametro vertė atlieka užpildymą, naudodama didžiausią vektoriaus dalies arba visos vertės išilgai kiekvienos ašies.

'reiskia'

Ši parametro reikšmė užpildo pagal vektoriaus dalies arba visos vidutinę vertę išilgai kiekvienos ašies.

'mediana'

Ši parametro reikšmė užpildo pagal vektoriaus dalies arba visos dalies medianinę reikšmę išilgai kiekvienos ašies.

'minimumas'

Ši parametro reikšmė užpildo pagal minimalią vektoriaus dalies arba visos vertės išilgai kiekvienos ašies.

'atspindėti'

Ši reikšmė papildo masyvą per vektorinį atspindį, kuris atspindimas pradžios ir pabaigos vektoriaus reikšmės išilgai kiekvienos ašies.

'simetriškas'

Ši reikšmė naudojama masyvei užpildyti per vektorinį atspindį, kuris atspindimas išilgai masyvo krašto.

'įvynioti'

Ši reikšmė naudojama masyvo užpildymui atlikti per vektoriaus apvyniojimą išilgai ašies. Pradinės reikšmės naudojamos pabaigai užpildyti, o pabaigos reikšmės – pradžiai.

'tuščia'

Ši reikšmė naudojama masyvei užpildyti neapibrėžtomis reikšmėmis.

stat_length: int arba seka (neprivaloma)

Šis parametras naudojamas kaip „maksimalus“, „minimalus“, „vidurkis“, „mediana“. Jis apibrėžia reikšmių skaičių kiekvienoje briaunos ašyje, naudojamą statinei vertei apskaičiuoti.

java pora

pastovios_vertės: skaliarinis arba seka (neprivaloma)

Šis parametras naudojamas „konstanta“. Jis apibrėžia kiekvienos ašies paminkštintų verčių nustatymo reikšmes.

end_values: skaliarinis arba seka (neprivaloma)

Šis parametras naudojamas „linear_ramp“. Jis apibrėžia reikšmes, kurios naudojamos paskutinei linear_ramp reikšmei, ir sudarys paminkštinto masyvo kraštą.

reflekto_tipas: lyginis arba nelyginis (neprivaloma)

Šis parametras naudojamas „simetriškai“ ir „atspindėti“. Pagal numatytuosius nustatymus reflekto_tipas yra „lygus“ su nepakitusiu atspindžiu aplink krašto reikšmę. Atimant atspindėtas reikšmes iš dvigubo krašto reikšmės, masyvo išplėstinė dalis sukuriama „nelyginiam“ stiliui.

Grąžinimai:

padas: ndarray

Ši funkcija grąžina užpildytą masyvą, kurio rangas yra lygus masyvei, kurio forma didėja pagal pad_width.

1 pavyzdys:

 import numpy as np x = [1, 3, 2, 5, 4] y = np.pad(x, (3, 2), 'constant', constant_values=(6, 4)) y 

Išvestis:

 array([6, 6, 6, 1, 3, 2, 5, 4, 4, 4]) 

Aukščiau pateiktame kode

  • Mes importavome numpy su slapyvardžiu np.
  • Sukūrėme reikšmių x sąrašą.
  • Mes paskelbėme kintamąjį y ir priskyrėme grąžintą funkcijos np.pad() reikšmę.
  • Perdavėme sąrašą x, pad_width, nustatykite režimą į pastovus ir pastovios_vertės funkcijoje.
  • Galiausiai bandėme atspausdinti y reikšmę.

Išvestyje rodomas ndarray paminkštintas apibrėžtu dydžiu ir reikšmėmis.

2 pavyzdys:

 import numpy as np x = [1, 3, 2, 5, 4] y = np.pad(x, (3, 2), 'edge') y 

Išvestis:

 array([1, 1, 1, 1, 3, 2, 5, 4, 4, 4]) 

3 pavyzdys:

 import numpy as np x = [1, 3, 2, 5, 4] y = np.pad(x, (3, 2), 'linear_ramp', end_values=(-4, 5)) y 

Išvestis:

 array([-4, -2, 0, 1, 3, 2, 5, 4, 4, 5]) 

4 pavyzdys:

 import numpy as np x = [1, 3, 2, 5, 4] y = np.pad(x, (3,), 'maximum') y 

Išvestis:

 array([5, 5, 5, 1, 3, 2, 5, 4, 5, 5, 5]) 

5 pavyzdys:

 import numpy as np x = [1, 3, 2, 5, 4] y = np.pad(x, (3,), 'mean') y 

Išvestis:

 array([3, 3, 3, 1, 3, 2, 5, 4, 3, 3, 3]) 

6 pavyzdys:

 import numpy as np x = [1, 3, 2, 5, 4] y = np.pad(x, (3,), 'median') y 

Išvestis:

 array([3, 3, 3, 1, 3, 2, 5, 4, 3, 3, 3]) 

7 pavyzdys:

 import numpy as np a = [[1, 2], [3, 4]] y = np.pad(x, (3,), 'minimum') y 

Išvestis:

 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 pavyzdys:

 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 

Išvestis:

 array([41, 31, 21, 11, 21, 31, 41, 51, 41, 31]) 

Aukščiau pateiktame kode

  • Mes importavome numpy su slapyvardžiu np.
  • Sukūrėme funkciją pad_su su vektorius , pad_plotis , iaxis , ir kwargs .
  • Mes paskelbėme kintamąjį pad_value, kad gautume užpildymo reikšmes iš gauti () funkcija.
  • Mes perdavėme užpildymo reikšmes vektoriaus daliai.
  • Sukūrėme masyvą x naudodami funkciją np.arange() ir pakeitėme formą naudodami funkciją reshape().
  • Mes paskelbėme kintamąjį y ir priskyrėme grąžintą funkcijos np.pad() reikšmę.
  • Funkcijoje perdavėme sąrašą x ir pad_width
  • Galiausiai bandėme atspausdinti y reikšmę.

Išvestyje rodomas ndarray paminkštintas apibrėžtu dydžiu ir reikšmėmis.

9 pavyzdys:

 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) 

Išvestis:

 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 pavyzdys:

 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) 

Išvestis:

 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]])