📢 Nuovo Corso Bootstrap Completo disponibile!

Unire Array in NumPy

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.