Panda's: rijen bemonsteren met vervanging
U kunt het argument Replace=True in de functie Pandas Sample() gebruiken om willekeurig rijen uit een DataFrame te bemonsteren met vervanging:
#randomly select n rows with repeats allowed df. sample (n= 5 , replace= True )
Door Replace=True te gebruiken, kunt u ervoor zorgen dat dezelfde rij meerdere keren in de steekproef wordt opgenomen.
Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.
Voorbeeld: Voorbeelden van regels met vervanging in Panda’s
Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over verschillende basketbalspelers:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28], ' assists ': [5, 7, 7, 9, 12, 9, 9, 4], ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]}) #view DataFrame print (df) team points assists rebounds 0 A 18 5 11 1 B 22 7 8 2 C 19 7 10 3 D 14 9 6 4 E 14 12 6 5 F 11 9 5 6 G 20 9 9 7:28 4 12
Stel dat we de functie sample() gebruiken om willekeurig een aantal rijen te selecteren:
#randomly select 6 rows from DataFrame (without replacement) df. sample (n= 6 , random_state= 0 ) team points assists rebounds 6 G 20 9 9 2 C 19 7 10 1 B 22 7 8 7:28 4 12 3 D 14 9 6 0 A 18 5 11
Houd er rekening mee dat er zes rijen zijn geselecteerd in het DataFrame en dat geen van de rijen meerdere keren in het voorbeeld voorkomt.
Opmerking : het argument random_state=0 zorgt ervoor dat dit voorbeeld reproduceerbaar is.
Stel nu dat we het argument Replace=True gebruiken om een willekeurige steekproef van rijen met vervanging te selecteren:
#randomly select 6 rows from DataFrame (with replacement) df. sample (n= 6 , replace= True , random_state= 0 ) team points assists rebounds 4 E 14 12 6 7:28 4 12 5 F 11 9 5 0 A 18 5 11 3 D 14 9 6 3 D 14 9 6
Merk op dat de regel met team „D“ meerdere keren voorkomt.
Door het argument Replace=True te gebruiken, zorgen we ervoor dat dezelfde rij meerdere keren in de steekproef voorkomt.
Merk ook op dat we een willekeurige fractie van het DataFrame kunnen selecteren om in de steekproef op te nemen met behulp van het frac- argument.
In het volgende voorbeeld ziet u bijvoorbeeld hoe u 75% van de rijen selecteert om op te nemen in het vervangende voorbeeld:
#randomly select 75% of rows (with replacement) df. sample (frac= 0.75 , replace= True , random_state= 0 ) team points assists rebounds 4 E 14 12 6 7:28 4 12 5 F 11 9 5 0 A 18 5 11 3 D 14 9 6 3 D 14 9 6
Merk op dat 75% van het aantal lijnen (6 van de 8) in de steekproef was opgenomen en dat ten minste één van de lijnen (met team „D“) twee keer in de steekproef verscheen.
Opmerking : u kunt hier de volledige documentatie voor de pandas sample()- functie vinden.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelgebruikte bemonsteringsmethoden in Pandas kunt uitvoeren:
Hoe gestratificeerde steekproeven bij panda’s uit te voeren
Clusterbemonstering uitvoeren in Pandas