🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Unire Array in NumPy

Codegrind Team•Jul 22 2023

Unire o combinare array in NumPy è un’operazione comune quando si lavora con dati multidimensionali. NumPy offre diverse opzioni per effettuare queste operazioni, tra cui la concatenazione e l’impilamento verticale, orizzontale e in profondità. In questo articolo, esploreremo come unire array utilizzando NumPy, compresa la funzione concatenate e le funzioni di impilamento.

Utilizzo di np.concatenate (Concatenazione)

La funzione np.concatenate permette di concatenare array lungo un asse specifico. Puoi specificare l’asse tramite il parametro axis. Questa funzione è molto flessibile e ti permette di unire array con dimensioni diverse lungo l’asse desiderato.

Ecco un esempio di utilizzo di np.concatenate per concatenare due array orizzontalmente:

import numpy as np

# Creazione di due array
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6]])

# Concatenazione orizzontale
concatenated_arr = np.concatenate((arr1, arr2.T), axis=1)

print(concatenated_arr)
# Restituisce:
# [[1 2 5]
#  [3 4 6]]

In questo esempio, stiamo concatenando arr1 e arr2.T (trasposto di arr2) lungo l’asse delle colonne (axis=1).

Utilizzo di np.vstack (Impilamento Verticale)

La funzione np.vstack viene utilizzata per impilare gli array verticalmente lungo l’asse delle righe. Questo significa che gli array vengono uniti in alto o in basso. Gli array da unire devono avere lo stesso numero di colonne.

import numpy as np

# Creazione di due array
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6]])

# Impilamento verticale
stacked_arr = np.vstack((arr1, arr2))

print(stacked_arr)
# Restituisce:
# [[1 2]
#  [3 4]
#  [5 6]]

Utilizzo di np.hstack (Impilamento Orizzontale)

La funzione np.hstack viene utilizzata per impilare gli array orizzontalmente lungo l’asse delle colonne. Questo significa che gli array vengono uniti da sinistra a destra. Gli array da unire devono avere lo stesso numero di righe.

import numpy as np

# Creazione di due array
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6]])

# Impilamento orizzontale
stacked_arr = np.hstack((arr1, arr2.T))

print(stacked_arr)
# Restituisce:
# [[1 2 5]
#  [3 4 6]]

Utilizzo di np.dstack (Impilamento in ProfonditĂ )

La funzione np.dstack viene utilizzata per impilare gli array in profondità lungo l’asse della profondità. Questo è utile quando si lavora con array tridimensionali.

import numpy as np

# Creazione di due array tridimensionali
arr1 = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
arr2 = np.array([[[9, 10], [11, 12]], [[13, 14], [15, 16]]])

# Impilamento in profonditĂ 
stacked_arr = np.dstack((arr1, arr2))

print(stacked_arr)
# Restituisce un array tridimensionale

Conclusioni

In conclusione, unire array in NumPy è un’operazione essenziale quando si lavora con dati multidimensionali. Puoi utilizzare la funzione np.concatenate per concatenare array lungo un asse specifico o le funzioni np.vstack, np.hstack e np.dstack per effettuare l’impilamento verticale, orizzontale o in profondità. La scelta della funzione dipenderà dalle tue esigenze specifiche e dalle dimensioni degli array da unire.