English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Funzioni statistiche NumPy

numpy.amin() e numpy.amax()

numpy.amin() viene utilizzato per calcolare il valore minimo degli elementi dell'array lungo l'asse specificato.
numpy.amax() viene utilizzato per calcolare il valore massimo degli elementi dell'array lungo l'asse specificato.

 import numpy as np 
 a = np.array([[3,7,5],[8,4,3],[2,4,9]]) 
 print('Il nostro array è:', a)
 print('Chiamare la funzione amin():', np.amin(a, 1))
 print('Chiamare di nuovo la funzione amin():', np.amin(a, 0))
 print('Chiamare la funzione amax():', np.amax(a))
 print('Chiamare di nuovo la funzione amax():', np.amax(a, axis=0))

Il risultato di output è:

 Il nostro array è: [[3 7 5]
  [8 4 3]
  [2 4 9]
 Chiamare la funzione amin(): [3 3 2]
 Chiamare di nuovo la funzione amin(): [2 4 3]
 Chiamare la funzione amax(): 9
 Chiamare di nuovo la funzione amax(): [8 7 9]

numpy.ptp()

La funzione numpy.ptp() calcola la differenza tra il valore massimo e il valore minimo degli elementi dell'array (valore massimo - valore minimo).

 import numpy as np 
 a = np.array([[3,7,5],[8,4,3],[2,4,9]]) 
 print('Chiamare la funzione ptp():', np.ptp(a))
 print('Chiamare la funzione ptp() lungo l'asse 1:', np.ptp(a, axis=1))
 print('Chiamare la funzione ptp() lungo l'asse 0:', np.ptp(a, axis=0))

Il risultato di output è:

 Chiamare la funzione ptp(): 7
 Chiamare la funzione ptp() lungo l'asse 1: [4 5 7]
 Chiamare la funzione ptp() lungo l'asse 0: [6 3 6]

numpy.percentile()

Il percentile è una misura utilizzata nella statistica che rappresenta la percentuale di osservazioni inferiori a questo valore. La funzione numpy.percentile() accetta i seguenti parametri.

numpy.percentile(a, q, axis)

Descrizione dei parametri:

a: array di input q: il percentile da calcolare, tra 0 e 100 axis: l'asse lungo il quale calcolare il percentile

Prima di tutto, chiarire il concetto di percentile:

Il percentile p-esimo è un valore tale che almeno il p% dei dati è minore o uguale a questo valore, e almeno il (100-p)% dei dati è maggiore o uguale a questo valore.
Facciamo un esempio: i punteggi di ammissione degli studenti universitari sono spesso riportati sotto forma di percentili. Ad esempio, supponiamo che un candidato abbia ottenuto 54 punti nel test di ingresso di cinese. È difficile sapere come si posiziona rispetto agli altri studenti che hanno partecipato allo stesso esame. Ma se il punteggio originale di 54 punti corrisponde al 70° percentile, possiamo sapere che circa il 70% degli studenti ha punteggi inferiori al suo, mentre circa il 30% degli studenti ha punteggi superiori.

Ecco che p = 70.

 import numpy as np 
 a = np.array([[10, 7, 4], [3, 2, 1]])
 # La percentile del 50% è la mediana dell'array a dopo l'ordinamento
 print('Chiamata alla funzione percentile():', np.percentile(a, 50)) 
 # axis è 0, calcolato sulla colonna verticale
 print(np.percentile(a, 50, axis=0)) 
 # axis è 1, calcolato sulla riga orizzontale
 print(np.percentile(a, 50, axis=1)) 
 # Mantenere le dimensioni invariate
 print(np.percentile(a, 50, axis=1, keepdims=True))

Il risultato di output è:

 Chiamata alla funzione percentile(): 3.5
 [6.5 4.5 2.5]
 [7. 2.]
 [[7.]]
 [2.]

numpy.median()

La funzione numpy.median() viene utilizzata per calcolare la mediana degli elementi dell'array a.

 import numpy as np 
 a = np.array([[30,65,70],[80,95,10],[50,90,60]]) 
 print('Chiamata alla funzione median():', np.median(a))
 print('Chiamata alla funzione median() lungo l'asse 0:', np.median(a, axis=0))
 print('Chiamata alla funzione median() lungo l'asse 1:', np.median(a, axis=1))

Il risultato di output è:

 Chiamata alla funzione median(): 65.0
 Chiamata alla funzione median() lungo l'asse 0: [50. 90. 60.]
 Chiamata alla funzione median() lungo l'asse 1: [65. 80. 60.]

numpy.mean()

La funzione numpy.mean() restituisce la media aritmetica degli elementi dell'array. Se viene fornito un asse, viene calcolato lungo di esso.
La media aritmetica è la somma degli elementi lungo l'asse divisa dal numero di elementi.

 import numpy as np 
 a = np.array([[1,2,3],[3,4,5],[4,5,6]]) 
 print('Chiamo la funzione mean():', (np.mean(a)))
 print('Chiamo la funzione mean() lungo l'asse 0:', np.mean(a, axis=0))
 print('Chiamo la funzione mean() lungo l'asse 1:', np.mean(a, axis=1))

Il risultato di output è:

 Chiamo la funzione mean(): 3.6666666666666665
 Chiamo la funzione mean() lungo l'asse 0: [2.66666667 3.66666667 4.66666667]
 Chiamo la funzione mean() lungo l'asse 1: [2. 4. 5.]

numpy.average()

La funzione numpy.average() calcola la media ponderata degli elementi dell'array in base ai pesi forniti in un altro array.
La funzione può accettare un parametro asse. Se non viene specificato l'asse, l'array viene espanso.<
La media ponderata moltiplica ciascun valore per il rispettivo peso, somma i risultati e divide il totale per il numero totale di unità.
Considerando l'array [1, 2, 3, 4] e i pesi corrispondenti [4, 3, 2, 1], per calcolare la media ponderata, sommiamo i prodotti degli elementi corrispondenti e dividiamo la somma per la somma dei pesi.

Media ponderata = (1*4+2*3+3*2+4*1) / (4+3+2+1)
 import numpy as np 
 a = np.array([1, 2, 3, 4]) 
 print('Chiamo la funzione average():', np.average(a))
 # Senza specificare i pesi, equivale alla funzione mean
 wts = np.array([4, 3, 2, 1]) 
 print('Richiamo di nuovo la funzione average():', np.average(a, weights=wts))
 # Se il parametro returned è impostato su True, viene restituita la somma dei pesi 
 print('Somma dei pesi:', np.average([1, 2, 3, 4], weights=[4, 3, 2, 1], returned=True))

Il risultato di output è:

 Chiamo la funzione average(): 2.5
 Richiamo di nuovo la funzione average(): 2.0
 Somma dei pesi: (2.0, 10.0)

In un array multidimensionale, è possibile specificare l'asse utilizzato per il calcolo.

 import numpy as np 
 a = np.arange(6).reshape(3, 2) 
 wt = np.array([3, 5]) 
 print('Modificato array:', np.average(a, axis=1, weights=wt))
 print ('Array modificato:', np.average(a, axis=1, weights=wt, returned=True))

Il risultato di output è:

 Array modificato: [0.625 2.625 4.625]
 Array modificato: (array([0.625, 2.625, 4.625]), array([8., 8., 8.]))

Deviazione standard

La deviazione standard è una misura della dispersione della media di un insieme di dati.
La deviazione standard è la radice quadrata aritmetica della varianza.
La formula della deviazione standard è la seguente:

 std = sqrt(mean((x - x.mean())**2))

Se l'array è [1,2,3,4], la sua media è 2.5. Pertanto, i quadrati delle differenze sono [2.25,0.25,0.25,2.25], e poi calcolare la radice quadrata della media divisa per 4, ossia sqrt(5/4), il risultato è 1.1180339887498949.

import numpy as np 
print (np.std([1,2,3,4]))

Il risultato di output è:

1.1180339887498949

Varianza

La varianza (varianza campionaria) nella statistica è la media dei quadrati della differenza tra ogni valore campione e la media dei valori campione, ossia mean((x - x.mean())** 2).
In altre parole, la deviazione standard è la radice quadrata della varianza.

import numpy as np 
print (np.var([1,2,3,4]))
1.25