Arrotondare valori con la funzione np.round di NumPy
In Python, la libreria NumPy offre strumenti per gestire grandi volumi di dati, incluse funzionalità per l'arrotondamento. Tra queste, la funzione np.round è particolarmente utile per arrotondare i valori di un array a un numero specifico di cifre decimali.
In questa pagina, esploreremo in dettaglio come utilizzare la funzione np.round di NumPy, evidenziando le sue caratteristiche principali e fornendo esempi pratici per facilitarne l'applicazione.
La funzione np.round di NumPy
La funzione np.round di NumPy viene utilizzata per arrotondare gli elementi di un array a un numero specifico di cifre decimali. La sintassi generale della funzione è la seguente:
numpy.round(a, decimals=0, out=None)
dove:
a: array-like input. Può essere un singolo numero, una lista o un array.
decimals: numero intero opzionale. Specifica il numero di cifre decimali a cui arrotondare. Il valore predefinito è 0, il che significa che i numeri verranno arrotondati all'intero più vicino.
out: array opzionale in cui salvare il risultato. Se non viene specificato, viene restituito un nuovo array.
Esempi di utilizzo della funzione np.round di NumPy
Uno degli usi più semplici di np.round() è arrotondare un singolo numero:
import numpy as np
numero = 3.14159
numero_arrotondato = np.round(numero, 2)
print(numero_arrotondato) # Output: 3.14
È possibile applicare np.round() a un intero array di numeri:
import numpy as np
array = np.array([1.2345, 2.6789, 3.14159, 4.98765])
array_arrotondato = np.round(array, 3)
print(array_arrotondato) # Output: [1.235 2.679 3.142 4.988]
In questo caso, ogni elemento dell'array viene arrotondato a tre cifre decimali.
Mentre, se si desidera arrotondare i valori di un array agli interi più vicini, è possibile omettere l'argomento decimals o impostarlo a 0:
import numpy as np
array = np.array([1.2345, 2.6789, 3.14159, 4.98765])
array_arrotondato = np.round(array)
print(array_arrotondato) # Output: [1. 3. 3. 5.]
Arrotondamento negativo
La funzione np.round consente anche l'arrotondamento con un numero negativo di cifre decimali, che arrotonda i numeri a sinistra del punto decimale:
import numpy as np
array = np.array([123.45, 678.89, 314.159])
array_arrotondato = np.round(array, -1)
print(array_arrotondato) # Output: [120. 680. 310.]
Considerazioni sulle prestazioni di np.round
NumPy è ottimizzato per operazioni su array di grandi dimensioni. Utilizzare np.round per arrotondare grandi dataset è molto più efficiente rispetto all'uso di funzioni di arrotondamento standard di Python come round applicate in modo iterativo.