Operazioni Statistiche
Eseguire varie operazioni statistiche su array è essenziale per l'analisi dei dati e il machine learning. NumPy fornisce funzioni e metodi per eseguirle in modo efficace.
Misure di Tendenza Centrale
Le misure di tendenza centrale rappresentano un valore centrale o rappresentativo all'interno di una distribuzione di probabilità. La maggior parte delle volte, tuttavia, calcolerai queste misure per un certo campione.
Ecco le due principali misure:
Media: la somma di tutti i valori divisa per il numero totale di valori;
Mediana: Il valore centrale in un campione ordinato.
NumPy fornisce le funzioni mean()
e median()
per calcolare rispettivamente la media e la mediana:
import numpy as np sample = np.array([10, 25, 15, 30, 20, 10, 2]) # Calculating the mean sample_mean = np.mean(sample) print(f'Sorted sample: {np.sort(sample)}') # Calculating the median sample_median = np.median(sample) print(f'Mean: {sample_mean}, median: {sample_median}')
Abbiamo anche mostrato il campione ordinato in modo da poter vedere chiaramente la mediana. Il nostro campione ha un numero dispari di elementi (7), quindi la mediana è semplicemente l'elemento all'indice (n + 1) / 2
nel campione ordinato, dove n
è la dimensione del campione.
Nota
Quando il campione ha un numero pari di elementi, la mediana è la media degli elementi agli indici
n / 2
en / 2 - 1
nel campione ordinato.
import numpy as np sample = np.array([1, 2, 8, 10, 15, 20, 25, 30]) sample_median = np.median(sample) print(f'Median: {sample_median}')
Il nostro campione è già ordinato e ha 8 elementi, quindi n / 2 - 1 = 3
e sample[3]
è 10. n / 2 = 4
e sample[4]
è 15. Pertanto, la nostra mediana è (10 + 15) / 2 = 12.5
.
Misure di Dispersione
Due misure di dispersione sono la varianza e la deviazione standard. La varianza misura quanto i dati siano dispersi. È uguale alla media delle differenze quadrate di ciascun valore dalla media.
La deviazione standard è la radice quadrata della varianza. Fornisce una misura di quanto i dati siano dispersi nelle stesse unità dei dati.
NumPy ha la funzione var()
per calcolare la varianza del campione e la funzione std()
per calcolare la deviazione standard del campione:
import numpy as np sample = np.array([10, 25, 15, 30, 20, 10, 2]) # Calculating the variance sample_variance = np.var(sample) # Calculating the standard deviation sample_std = np.std(sample) print(f'Variance: {sample_variance}, standard deviation: {sample_std}')
Calcoli in Array a Dimensioni Superiori
Tutte queste funzioni hanno un secondo parametro axis
. Il suo valore predefinito è None
, il che significa che la misura verrà calcolata lungo un array appiattito (anche se l'array originale è 2D o di dimensioni superiori).
È anche possibile specificare l'esatto asse lungo il quale calcolare la misura:
import numpy as np array_2d = np.array([[1, 2, 3], [4, 5, 6]]) # Calculating the mean in a flattened array print(np.mean(array_2d)) # Calculating the mean along axis 0 print(np.mean(array_2d, axis=0)) # Calculating the mean along axis 1 print(np.mean(array_2d, axis=1))
L'immagine qui sotto mostra la struttura dell'array exam_scores
utilizzato nel compito:
Swipe to start coding
Stai analizzando l'array exam_scores
, un array 2D di punteggi di test simulati per 2 studenti (2 righe) su 5 esami diversi (5 colonne).
-
Calcola il punteggio medio per ogni studente specificando il secondo argomento keyword.
-
Calcola la mediana di tutti i punteggi.
-
Calcola la varianza di tutti i punteggi.
-
Calcola la deviazione standard di tutti i punteggi.
Soluzione
Grazie per i tuoi commenti!