Panda: come calcolare la deviazione standard per ogni riga


È possibile utilizzare la seguente sintassi di base per calcolare la deviazione standard dei valori per ciascuna riga di un DataFrame panda:

 df. std (axis= 1 , numeric_only= True )

L’argomento axis=1 dice ai panda di eseguire il calcolo per ogni riga (invece di ogni colonna) e numeric_only=True dice ai panda di considerare solo le colonne numeriche durante l’esecuzione del calcolo.

L’esempio seguente mostra come utilizzare questa sintassi nella pratica.

Esempio: calcola la deviazione standard per ogni riga in Pandas

Supponiamo di avere il seguente DataFrame panda che contiene informazioni sui punti segnati da vari giocatori di basket durante quattro partite diverse:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' player ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' game1 ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' game2 ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' game3 ': [11, 8, 10, 6, 6, 5, 9, 12],
                   ' game4 ': [9, 8, 8, 9, 14, 15, 10, 11]})
                   
#view DataFrame
print (df)

  player game1 game2 game3 game4
0 A 18 5 11 9
1 B 22 7 8 8
2 C 19 7 10 8
3 D 14 9 6 9
4 E 14 12 6 14
5 F 11 9 5 15
6 G 20 9 9 10
7:28 4 12 11

Possiamo utilizzare la seguente sintassi per calcolare la deviazione standard dei punti segnati da ciascun giocatore:

 #calculate standard deviation for each row
df. std (axis= 1 , numeric_only= True )

0 5.439056
1 7.182154
2 5.477226
3 3.316625
4 3.785939
5 4.163332
6 5.354126
7 10.144785
dtype:float64

Ecco come interpretare il risultato:

  • La deviazione standard dei punti segnati dal giocatore A è 5.439 .
  • La deviazione standard dei punti segnati dal giocatore B è 7.182 .
  • La deviazione standard dei punti segnati dal giocatore C è 5.477 .

E così via.

Tieni presente che la funzione std() calcola la deviazione standard del campione per impostazione predefinita.

Se invece vuoi calcolare la deviazione standard della popolazione, devi utilizzare l’argomento ddof=0 :

 #calculate population standard deviation for each row
df. std (axis= 1 , ddof= 0 , numeric_only= True )

0 4.747351
1 5.881366
2 4.807037
3 3.384910
4 3.983518
5 3.915150
6 4.892772
7 8.091179
dtype:float64

Correlati: popolazione vs. Deviazione standard del campione: quando utilizzarli

Per assegnare valori di deviazione standard ad una nuova colonna, è possibile utilizzare la seguente sintassi:

 #add new column to display standard deviation for each row
df[' std_points '] = df. std (axis= 1 , numeric_only= True )

#view updated DataFrame
print (df)

  player game1 game2 game3 game4 points_std
0 A 18 5 11 9 5.439056
1 B 22 7 8 8 7.182154
2 C 19 7 10 8 5.477226
3 D 14 9 6 9 3.316625
4 E 14 12 6 14 3.785939
5 F 11 9 5 15 4.163332
6 G 20 9 9 10 5.354126
7:28 AM 4 12 11 10.144785

La deviazione standard dei valori per ciascuna riga nelle colonne game1 , game2 , game3 e game4 viene ora visualizzata nella colonna points_std .

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre operazioni comuni nei panda:

Come ottenere la prima riga di Pandas DataFrame
Come rimuovere la prima riga in Pandas DataFrame
Come inserire una riga in un DataFrame Pandas

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *