logo

numpy.concatenate() a Python

La funció concatenar() és una funció del paquet NumPy. Aquesta funció bàsicament combina matrius NumPy junts. Aquesta funció s'utilitza bàsicament per unir dues o més matrius de la mateixa forma al llarg d'un eix especificat. Hi ha les següents coses que cal tenir en compte:

  1. El concatenate() de NumPy no és com una unió de base de dades tradicional. És com apilar matrius NumPy.
  2. Aquesta funció pot funcionar tant verticalment com horitzontalment. Això vol dir que podem concatenar matrius junts horitzontalment o verticalment.
numpy.concatenar()

La funció concatenate() s'escriu normalment com a np.concatenate(), però també la podem escriure com a numpy.concatenate(). Depèn de la manera d'importar el paquet numpy, ja sigui import numpy com a np o import numpy, respectivament.

Sintaxi

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

Paràmetres

1) (a1, a2, ...)

Aquest paràmetre defineix la seqüència de matrius. Aquí, a1, a2, a3 ... són les matrius que tenen la mateixa forma, excepte en la dimensió corresponent a l'eix.

diferència entre el sopar i el sopar

2) eix: int (opcional)

Aquest paràmetre defineix l'eix al llarg del qual s'unirà la matriu. Per defecte, el seu valor és 0.

Resultat

Tornarà un ndarray que conté els elements de les dues matrius.

no és igual a mysql

Exemple 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 

En el codi anterior

  • Hem importat numpy amb el nom d'àlies np.
  • Hem creat una matriu 'x' utilitzant la funció np.array().
  • Aleshores, hem creat una altra matriu 'y' utilitzant la mateixa funció np.array().
  • Hem declarat la variable 'z' i hem assignat el valor retornat de la funció np.concatenate().
  • Hem passat la matriu 'x' i 'y' a la funció.
  • Finalment, hem intentat imprimir el valor de 'z'.

A la sortida, els valors de les dues matrius, és a dir, 'x' i 'y' es mostren segons l'eix = 0.

Sortida:

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

Exemple 2: numpy.concatenate() amb axis=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 

Sortida:

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

Exemple 3: numpy.concatenate() amb axis=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 

Sortida:

format de data a cadena
 array([[ 1, 2, 12], [ 3, 4, 30]]) 

A l'exemple anterior, la '.T' s'utilitza per canviar les files en columnes i les columnes en files.

Exemple 4: numpy.concatenate() amb 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 

Sortida:

ordre per sql aleatori
 array([ 1, 2, 3, 4, 12, 30]) 

En els exemples anteriors, hem utilitzat la funció np.concatenate(). Aquesta funció no es conserva l'emmascarament de les entrades MaskedArray. Hi ha la següent manera a través de la qual podem concatenar les matrius que poden preservar l'emmascarament de les entrades MaskedArray.

Exemple 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 

En el codi anterior

  • Hem importat numpy amb el nom d'àlies np.
  • Hem creat una matriu 'x' utilitzant la funció np.ma.arrange().
  • Aleshores, hem creat una altra matriu 'y' utilitzant la mateixa funció np.ma.arrange().
  • Hem declarat la variable 'z1' i hem assignat el valor retornat de la funció np.concatenate().
  • Hem declarat la variable 'z2' i hem assignat el valor retornat de la funció np.ma.concatenate().
  • Finalment, hem intentat imprimir el valor de 'z1' i 'z2'.

A la sortida, els valors de les matrius 'z1' i 'z2' han conservat l'emmascarament de l'entrada MaskedArray.

Sortida:

 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)