Panda's: hoe u de standaardafwijking voor elke rij berekent


U kunt de volgende basissyntaxis gebruiken om de standaardafwijking van waarden voor elke rij van een Panda DataFrame te berekenen:

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

Het argument axis=1 vertelt panda’s dat ze de berekening voor elke rij (in plaats van elke kolom) moeten uitvoeren, en numeriek_only=True vertelt panda’s dat ze bij het uitvoeren van de berekening alleen rekening moeten houden met numerieke kolommen.

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: bereken de standaardafwijking voor elke rij in Panda’s

Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over de punten die door verschillende basketbalspelers zijn gescoord tijdens vier verschillende games:

 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

We kunnen de volgende syntaxis gebruiken om de standaardafwijking van de door elke speler gescoorde punten te berekenen:

 #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

Zo interpreteert u het resultaat:

  • De standaardafwijking van de door speler A gescoorde punten is 5,439 .
  • De standaardafwijking van de door speler B gescoorde punten is 7,182 .
  • De standaardafwijking van de door speler C gescoorde punten is 5,477 .

Enzovoort.

Houd er rekening mee dat de functie std() standaard de standaarddeviatie van het monster berekent.

Als u in plaats daarvan de populatiestandaarddeviatie wilt berekenen, moet u het argument ddof=0 gebruiken:

 #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

Gerelateerd: Bevolking vs. Voorbeeldstandaardafwijking: wanneer moet u deze gebruiken?

Om standaarddeviatiewaarden aan een nieuwe kolom toe te wijzen, kunt u de volgende syntaxis gebruiken:

 #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

De standaardafwijking van de waarden voor elke rij in de kolommen game1 , game2 , game3 en game4 wordt nu weergegeven in de kolom points_std .

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:

Hoe u de eerste rij Pandas DataFrame kunt krijgen
Hoe de eerste rij in Pandas DataFrame te verwijderen
Hoe u een rij invoegt in een Pandas DataFrame

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert