Het verschil tussen as=0 en as=1 in panda's
Voor veel functies in panda’s moet u een as opgeven waarlangs een bepaalde berekening moet worden toegepast.
Over het algemeen geldt de volgende vuistregel:
- as=0 : Pas de berekening “per kolom” toe
- as=1 : Pas de berekening “per lijn” toe
De volgende voorbeelden laten zien hoe u het asargument in verschillende scenario’s kunt gebruiken met de volgende panda’s DataFrame:
import pandas as pd
#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'A', 'B', 'B', 'B', 'B', 'C', 'C'],
' points ': [25, 12, 15, 14, 19, 23, 25, 29],
' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})
#view DataFrame
df
team points assists rebounds
0 to 25 5 11
1 to 12 7 8
2 B 15 7 10
3 B 14 9 6
4 B 19 12 6
5 B 23 9 5
6 C 25 9 9
7 C 29 4 12
Voorbeeld 1: Het gemiddelde vinden langs verschillende assen
We kunnen axis=0 gebruiken om het gemiddelde van elke kolom in het DataFrame te vinden:
#find mean of each column
df. mean (axis= 0 )
points 20.250
assists 7,750
rebounds 8,375
dtype:float64
De uitvoer geeft de gemiddelde waarde van elke numerieke kolom in het DataFrame weer.
Houd er rekening mee dat panda’s automatisch het gemiddelde van de kolom ‚team‘ vermijden, omdat het een tekenkolom is.
We kunnen ook axis=1 gebruiken om het gemiddelde van elke rij in het DataFrame te vinden:
#find mean of each row
df. mean (axis= 1 )
0 13.666667
1 9.000000
2 10.666667
3 9.666667
4 12.333333
5 12.333333
6 14.333333
7 15.000000
dtype:float64
Uit het resultaat kunnen we zien:
- De gemiddelde waarde van de eerste rij is 13.667 .
- De gemiddelde waarde in de tweede rij is 9000 .
- De gemiddelde waarde in de derde rij is 10.667 .
Enzovoort.
Voorbeeld 2: De som langs verschillende assen vinden
We kunnen axis=0 gebruiken om de som van specifieke kolommen in het DataFrame te vinden:
#find sum of 'points' and 'assists' columns
df[[' points ', ' assists ']]. sum (axis= 0 )
points 162
assists 62
dtype: int64
We kunnen ook axis=1 gebruiken om de som van elke rij in het DataFrame te vinden:
#find sum of each row
df. sum (axis= 1 )
0 41
1 27
2 32
3 29
4 37
5 37
6 43
7 45
dtype: int64
Voorbeeld 3: Max vinden langs verschillende assen
We kunnen axis=0 gebruiken om de maximale waarde van specifieke kolommen in het DataFrame te vinden:
#find max of 'points', 'assists', and 'rebounds' columns
df[[' points ', ' assists ', ' rebounds ']]. max (axis= 0 )
points 29
assists 12
rebounds 12
dtype: int64
We kunnen ook axis=1 gebruiken om de maximale waarde van elke rij in het DataFrame te vinden:
#find max of each row
df. max (axis= 1 )
0 25
1 12
2 15
3 14
4 19
5 23
6 25
7 29
dtype: int64
Uit het resultaat kunnen we zien:
- De maximale waarde in de eerste regel is 25 .
- De maximale waarde in de tweede regel is 12 .
- De maximale waarde in de derde rij is 15 .
Enzovoort.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:
Hoe het gemiddelde van kolommen in Panda’s te berekenen
Hoe de som van kolommen in Panda’s te berekenen
Hoe u de maximale waarde van kolommen in Panda’s kunt vinden