La funzione np.concatenate di NumPy consente di concatenare array lungo un asse specificato. Questa funzione è utile quando si desidera combinare più array in uno nuovo.
Ecco la sua sintassi di base:
numpy.concatenate((array1, array2, ...), axis=0, out = None)
Dove:
array1
,array2
, ecc. sono gli array che si desidera concatenare.axis
specifica l’asse lungo il quale concatenare gli array. Per impostazione predefinita,axis
è0
, il che significa che gli array verranno concatenati lungo l’asse delle righe. Se si desidera concatenare lungo l’asse delle colonne, si può impostareaxis = 1
.out
: (opzionale) array in cui inserire il risultato della concatenazione.
np.concatenate lungo l’asse delle righe
Facciamo adesso un esempio di come utilizzare np.concatenate
per concatenare due array lungo l’asse delle righe:
import numpy as np
array1 = np.array([[1, 2, 3],
[4, 5, 6]])
array2 = np.array([[7, 8, 9],
[10, 11, 12]])
concatenated_array = np.concatenate((array1, array2), axis=0)
print("Array concatenato lungo le righe:")
print(concatenated_array)
Questo esempio restituirebbe l’array concatenato lungo le righe:
Array concatenato lungo le righe:
[[ 1 2 3]
[ 4 5 6]
[ 7 8 9]
[10 11 12]]
np.concatenate lungo l’asse delle colonne
Ecco un esempio di come utilizzare numpy.concatenate
per concatenare lungo l’asse delle colonne:
import numpy as np
# Due array
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[5, 6], [7, 8]])
# Concatenazione lungo l'asse delle colonne
result = np.concatenate((arr1, arr2), axis=1)
print("Risultato della concatenazione:")
print(result)
Questo esempio restituirebbe l’array concatenato lungo le colonne:
Risultato della concatenazione:
[[1 2 5 6]
[3 4 7 8]]
Migliora le tue capacità di programmazione Python seguendo i nostri corsi in diretta!
Considerazioni su np.concatenate
Ci sono alcune altre considerazioni da fare riguardo a np.concatenate
:
- Specificare gli array da concatenare: Innanzitutto possiamo specificare un elenco di array da concatenare come argomenti di
np.concatenate
, oppure su possono passare gli array come una lista o una tupla. - Axis parameter: Il parametro
axis
dinp.concatenate
specifica lungo quale asse verrà eseguita la concatenazione. Per esempio,axis = 0
indica la concatenazione lungo l’asse delle righe (verticale), mentreaxis = 1
indica la concatenazione lungo l’asse delle colonne (orizzontale). Assicuriamoci di specificare correttamente l’asse desiderato in base alla nostra esigenza di concatenazione. - Dimensioni compatibili: Affinché l’operazione di concatenazione vada a buon fine, è importante assicurarsi che le dimensioni degli array lungo l’asse di concatenazione siano compatibili tra loro. Ad esempio, se si desidera concatenare lungo le colonne, le righe degli array devono avere la stessa lunghezza.
- Tipo di dato:
np.concatenate
preserverà il tipo di dato degli array di input nell’array risultante. - Broadcasting: Se gli array hanno dimensioni diverse, NumPy eseguirà il broadcasting prima di concatenarli lungo l’asse specificato.
- Assegnazione ad un nuovo array: Si può assegnare il risultato della concatenazione a una nuova variabile, oppure si può sovrascrivere uno degli array di input con il risultato della concatenazione.
- Efficienza:
np.concatenate
è implementato in C, il che lo rende efficiente per grandi operazioni di concatenazione su array NumPy. Utilizzarenp.concatenate
è dunque generalmente più efficiente rispetto a iterare manualmente sugli array e concatenarli uno per uno. NumPy è ottimizzato per eseguire operazioni su array in modo efficiente, quindi sfruttare le funzionalità fornite danp.concatenate
può portare a codice più compatto e veloce.
Conclusioni
In questa lezione abbiamo esplorato la funzione np.concatenate
di NumPy, che consente di concatenare array lungo un asse specificato. È una funzione estremamente utile quando si lavora con dati multidimensionali e si desidera combinare più array in uno nuovo.
Abbiamo imparato a utilizzare np.concatenate
per concatenare array lungo le righe e le colonne, specificando l’asse desiderato tramite il parametro axis
. È importante prestare attenzione alle dimensioni degli array e al tipo di dato, poiché np.concatenate
preserverà il tipo di dato degli array di input nell’array risultante e richiederà che le dimensioni degli array lungo l’asse di concatenazione siano compatibili tra loro.
Inoltre, abbiamo discusso l’efficienza di np.concatenate, sottolineando che è generalmente più efficiente rispetto a iterare manualmente sugli array e concatenarli uno per uno, grazie alla sua implementazione ottimizzata in C.
Infine, abbiamo anche esaminato alcune considerazioni importanti da tenere a mente quando si utilizza np.concatenate, come la specifica degli array da concatenare, il broadcasting, l’assegnazione ad un nuovo array e l’efficienza.
Utilizzando dunque np.concatenate in modo efficace, è possibile scrivere codice più conciso e veloce per combinare array in modo efficiente e intuitivo in NumPy.
Alcuni link utili
Indice tutorial sul linguaggio Python
Introduzione alla programmazione ad oggetti
Come definire una classe in Python
Calcolatrice in Python utilizzando le classi
Come aggiungere un numero random in un file che contiene dei numeri