Hoe specifieke rijen in panda's toe te voegen (met voorbeelden)
U kunt de volgende methoden gebruiken om de som van specifieke rijen in een pandas DataFrame te vinden:
Methode 1: Voeg specifieke rijen toe per index
#sum rows in index positions 0, 1, and 4 df. iloc [[0, 1, 4]]. sum ()
Methode 2: Voeg specifieke rijen toe per label
#sum rows with index labels 'A', 'B', and 'E' df. loc [['A', 'B', 'E']]. sum ()
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken met de volgende panda’s DataFrame:
import pandas as pd #createDataFrame df = pd. DataFrame ({' points ': [28, 17, 19, 14, 23, 26, 5], ' rebounds ': [5, 6, 4, 7, 14, 12, 9], ' assists ': [10, 13, 7, 8, 4, 5, 8]}) #set indexes df = df. set_index ([pd. Index (['A', 'B', 'C', 'D', 'E', 'F', 'G'])]) #view DataFrame print (df) points rebound assists A 28 5 10 B 17 6 13 C 19 4 7 D 14 7 8 E 23 14 4 F 26 12 5 G 5 9 8
Voorbeeld 1: Som van specifieke rijen per index
De volgende code laat zien hoe u de waarden van rijen met indexwaarden 0, 1 en 4 voor elke kolom in het DataFrame kunt optellen:
#sum rows in index positions 0, 1, and 4
df. iloc [[0, 1, 4]]. sum ()
points 68
rebounds 25
assists 27
dtype: int64
Uit het resultaat kunnen we zien:
- De som van de rijen met indexwaarden 0, 1 en 4 voor de puntkolom is 68 .
- De som van de rijen met indexwaarden 0, 1 en 4 voor de bouncekolom is 25 .
- De som van de rijen met indexwaarden 0, 1 en 4 voor de assistskolom is 27 .
Houd er ook rekening mee dat u een specifiek rijbereik kunt optellen met behulp van de volgende syntaxis:
#sum rows in index positions between 0 and 4
df. iloc [0:4]. sum ()
points 78
rebounds 22
assists 38
dtype: int64
Uit de uitvoer kunnen we de som zien van rijen met indexwaarden tussen 0 en 4 (4 niet meegerekend) voor elk van de kolommen in het DataFrame.
Voorbeeld 2: Voeg specifieke rijen toe per label
De volgende code laat zien hoe u de waarden van rijen met indexlabels „A“, „B“ en „E“ optelt voor elke kolom in het DataFrame:
#sum rows with index labels 'A', 'B', and 'E' df. loc [['A', 'B', 'E']]. sum () points 68 rebounds 25 assists 27 dtype: int64
Uit het resultaat kunnen we zien:
- De som van de rijen met indexwaarden ‘A’, ‘B’ en ‘E’ voor de puntkolom is 68 .
- De som van de rijen met indexwaarden ‘A’, ‘B’ en ‘E’ voor de bouncekolom is 25 .
- De som van de rijen met indexwaarden ‘A’, ‘B’ en ‘E’ voor de assistskolom is 27 .
Gerelateerd: Het verschil tussen loc en iloc bij Pandas
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:
Hoe een SUMIF-functie in Pandas uit te voeren
Hoe u een GroupBy-som uitvoert in Pandas
Hoe kolommen op te tellen op basis van een voorwaarde in Pandas