logo

numpy.concatenate() v Pythone

Funkcia concatenate() je funkcia z balíka NumPy. Táto funkcia v podstate kombinuje polia NumPy. Táto funkcia sa v podstate používa na spojenie dvoch alebo viacerých polí rovnakého tvaru pozdĺž špecifikovanej osi. Je dôležité mať na pamäti nasledujúce veci:

  1. NumPy's concatenate() nie je ako tradičné pripojenie k databáze. Je to ako stohovanie polí NumPy.
  2. Táto funkcia môže fungovať vertikálne aj horizontálne. To znamená, že polia môžeme spájať horizontálne alebo vertikálne.
numpy.concatenate()

Funkcia concatenate() sa zvyčajne zapisuje ako np.concatenate(), ale môžeme ju napísať aj ako numpy.concatenate(). Závisí to od spôsobu importovania balíka numpy, buď importovať numpy ako np alebo importovať numpy, resp.

Syntax

 numpy.concatenate((a1, a2, ...), axis) 

Parametre

1) (a1, a2, ...)

Tento parameter definuje postupnosť polí. Tu sú a1, a2, a3 ... polia, ktoré majú rovnaký tvar, s výnimkou rozmeru zodpovedajúceho osi.

atoi c

2) os : int (voliteľné)

spätné volanie do pekla v javascripte

Tento parameter definuje os, pozdĺž ktorej bude pole spojené. Štandardne je jeho hodnota 0.

Výsledok

Vráti ndarray obsahujúci prvky oboch polí.

Príklad 1: numpy.concatenate()

 import numpy as np x=np.array([[1,2],[3,4]]) y=np.array([[12,30]]) z=np.concatenate((x,y)) z 

Vo vyššie uvedenom kóde

  • Importovali sme numpy s aliasom np.
  • Vytvorili sme pole 'x' pomocou funkcie np.array().
  • Potom sme pomocou rovnakej funkcie np.array() vytvorili ďalšie pole 'y'.
  • Deklarovali sme premennú 'z' a priradili vrátenú hodnotu funkcie np.concatenate().
  • Vo funkcii sme odovzdali pole 'x' a 'y'.
  • Nakoniec sme sa pokúsili vytlačiť hodnotu „z“.

Vo výstupe sú hodnoty oboch polí, t.j. „x“ a „y“ zobrazené podľa osi = 0.

Výkon:

Stiahnite si xvideoservicethief ubuntu 14.04
 array([[ 1, 2], [ 3, 4], [12, 30]]) 

Príklad 2: numpy.concatenate() s osou=0

 import numpy as np x=np.array([[1,2],[3,4]]) y=np.array([[12,30]]) z=np.concatenate((x,y), axis=0) z 

Výkon:

 array([[ 1, 2], [ 3, 4], [12, 30]]) 

Príklad 3: numpy.concatenate() s osou=1

 import numpy as np x=np.array([[1,2],[3,4]]) y=np.array([[12,30]]) z=np.concatenate((x,y.T), axis=1) z 

Výkon:

 array([[ 1, 2, 12], [ 3, 4, 30]]) 

Vo vyššie uvedenom príklade sa '.T' používa na zmenu riadkov na stĺpce a stĺpcov na riadky.

Príklad 4: numpy.concatenate() s axis=None

 import numpy as np x=np.array([[1,2],[3,4]]) y=np.array([[12,30]]) z=np.concatenate((x,y), axis=None) z 

Výkon:

topológie
 array([ 1, 2, 3, 4, 12, 30]) 

Vo vyššie uvedených príkladoch sme použili funkciu np.concatenate(). Táto funkcia nezachová maskovanie vstupov MaskedArray. Existuje nasledujúci spôsob, ktorým môžeme zreťaziť polia, ktoré môžu zachovať maskovanie vstupov MaskedArray.

Príklad 5: np.ma.concatenate()

 import numpy as np x=np.ma.arange(3) y=np.arange(3,6) x[1]=np.ma.masked x y z1=np.concatenate([x,y]) z2=np.ma.concatenate([x,y]) z1 z2 

Vo vyššie uvedenom kóde

  • Importovali sme numpy s aliasom np.
  • Vytvorili sme pole 'x' pomocou funkcie np.ma.arrange().
  • Potom sme pomocou rovnakej funkcie np.ma.arrange() vytvorili ďalšie pole 'y'.
  • Deklarovali sme premennú 'z1' a priradili vrátenú hodnotu funkcie np.concatenate().
  • Deklarovali sme premennú 'z2' a priradili vrátenú hodnotu funkcie np.ma.concatenate().
  • Nakoniec sme sa pokúsili vytlačiť hodnotu „z1“ a „z2“.

Vo výstupe hodnoty oboch polí „z1“ a „z2“ zachovali maskovanie vstupu MaskedArray.

Výkon:

 masked_array(data=[0, --, 2], mask=[False, True, False], fill_value=999999) array([3, 4, 5]) masked_array(data=[0, 1, 2, 3, 4, 5], mask=False, fill_value=999999) masked_array(data=[0, --, 2, 3, 4, 5], mask=[False, True, False, False, False, False], fill_value=999999)