logo

numpy.pad() Pythonissa

Pythonin numpy-moduuli tarjoaa funktion nimeltä numpy.pad(), joka suorittaa taulukon täytön. Tällä toiminnolla on useita pakollisia ja valinnaisia ​​parametreja.

Syntaksi:

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

Parametrit:

array: array_like

Tämä on lähdetaulukko, jonka haluamme täyttää.

pad_width: int, sekvenssi tai array_like

Tämä parametri määrittää kunkin akselin reunoihin täytettyjen arvojen määrän. Jokaisen akselin yksilölliset tyynyn leveydet määritellään seuraavasti (ennen_1, jälkeen_1), (ennen_2, jälkeen_2), ... (ennen_N, jälkeen_N)). Jokaisen akselin kohdalla ((ennen, jälkeen)) käsitellään samoin kuin ennen ja jälkeen tyynyä. Kaikille akseleille int tai (pad,) on pikakuvake ennen = after = tyynyn leveys.

tila: str tai funktio (valinnainen)

Tällä parametrilla on jokin seuraavista merkkijonoarvoista:

'vakio' (oletus)

boto3

Jos annamme vakioarvon tilaparametrille, täyte tehdään vakioarvolla.

'reuna'

Se on taulukon reuna-arvo. Täyte tehdään tällä reuna-arvolla.

'lineaarinen_ramppi'

Tätä arvoa käytetään täyttämään reuna-arvon ja loppuarvon välinen lineaarinen ramppi.

'enimmäismäärä'

Tämä parametriarvo suorittaa täytön käyttämällä vektorin osan tai kaiken maksimiarvoa kullakin akselilla.

'tarkoittaa'

Tämä parametriarvo suorittaa täytön vektorin osan tai kaiken keskiarvon kautta kutakin akselia pitkin.

'mediaani'

Tämä parametriarvo suorittaa täytön vektorin osan tai kaiken mediaaniarvon kautta kutakin akselia pitkin.

'minimi'

Tämä parametriarvo suorittaa täytön vektorin osan tai kaiken minimiarvon kautta kutakin akselia pitkin.

'heijastaa'

Tämä arvo täydentää taulukkoa vektoriheijastuksen kautta, joka peilataan aloitus- ja loppuvektoriarvoihin kutakin akselia pitkin.

'symmetrinen'

Tätä arvoa käytetään taulukon täyttämiseen vektoriheijastuksen kautta, joka peilataan taulukon reunaa pitkin.

'kääre'

Tätä arvoa käytetään taulukon täyttämiseen vektorin kiertymisen kautta akselia pitkin. Alkuarvoja käytetään lopun täyttämiseen ja loppuarvoja alkuun.

'tyhjä'

Tätä arvoa käytetään täyttämään taulukko määrittelemättömillä arvoilla.

stat_length: int tai sekvenssi (valinnainen)

Tätä parametria käytetään arvoissa 'maksimi', 'minimi', 'keskiarvo', 'mediaani'. Se määrittelee arvojen lukumäärän kullakin reuna-akselilla, jota käytetään staattisen arvon laskemiseen.

vakio_arvot: skalaari tai sekvenssi (valinnainen)

Tätä parametria käytetään vakiona. Se määrittää arvot pehmustettujen arvojen asettamiseen kullekin akselille.

end_values: skalaari tai sekvenssi (valinnainen)

Tätä parametria käytetään parametrissa 'linear_ramp'. Se määrittää arvot, joita käytetään linear_rampin viimeiselle arvolle ja muodostavat täytetyn taulukon reunan.

heijastustyyppi: parillinen tai pariton (valinnainen)

Tätä parametria käytetään arvoissa 'symmetric' ja 'reflect'. Oletusarvoisesti reflektorin_tyyppi on 'parillinen', ja reuna-arvon ympärillä on muuttumaton heijastus. Vähentämällä heijastuneet arvot kaksinkertaisesta reunan arvosta, taulukon laajennettu osa luodaan 'pariton'-tyylille.

Palautukset:

tyyny: ndarray

Tämä funktio palauttaa täytetyn taulukon, jonka arvo on yhtä suuri kuin taulukko, jonka muoto kasvaa pad_width:n mukaan.

java tuottaa satunnaislukuja

Esimerkki 1:

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

Lähtö:

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

Yllä olevassa koodissa

  • Olemme tuoneet numpyn aliasnimellä np.
  • Olemme luoneet luettelon arvoista x.
  • Olemme ilmoittaneet muuttujan y ja määrittäneet np.pad()-funktion palautetun arvon.
  • Olemme läpäisseet luettelon x, pad_width, aseta tilaksi vakio ja vakio_arvot funktiossa.
  • Lopuksi yritimme tulostaa y:n arvon.

Tulosteessa se näyttää ndarray-pehmusteen määritetyllä koolla ja arvoilla.

Esimerkki 2:

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

Lähtö:

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

Esimerkki 3:

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

Lähtö:

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

Esimerkki 4:

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

Lähtö:

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

Esimerkki 5:

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

Lähtö:

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

Esimerkki 6:

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

Lähtö:

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

Esimerkki 7:

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

Lähtö:

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

Esimerkki 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 

Lähtö:

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

Yllä olevassa koodissa

  • Olemme tuoneet numpyn aliasnimellä np.
  • Olemme luoneet toiminnon pad_kanssa kanssa vektori , pad_width , iaxis , ja kwargs .
  • Olemme ilmoittaneet muuttujan pad_value saadaksemme täytearvot tiedostosta saada() toiminto.
  • Olemme välittäneet täytearvot vektorin osalle.
  • Olemme luoneet taulukon x käyttämällä np.arange()-funktiota ja muuttaneet muotoa käyttämällä reshape()-funktiota.
  • Olemme ilmoittaneet muuttujan y ja määrittäneet np.pad()-funktion palautetun arvon.
  • Olemme ohittaneet listan x ja pad_width funktiossa
  • Lopuksi yritimme tulostaa y:n arvon.

Tulosteessa se näyttää ndarray-pehmusteen määritetyllä koolla ja arvoilla.

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

Lähtö:

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

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

Lähtö:

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