Pandas DataFrame DataFrame.sample() Funktion

Minahil Noor 30 Januar 2023
  1. Syntax von pandas.DataFrame.sample()
  2. Beispiel-Codes: DataFrame.sample()
  3. Beispielcodes: DataFrame.sample() zum Extrahieren der Spalten
  4. Beispielcodes: DataFrame.sample() zur Generierung einer Datenfraktion
  5. Beispielcodes: DataFrame.sample() zum Überabtasten des DataFrame
  6. Beispiel-Codes: DataFrame.sample() Mit Gewichten
Pandas DataFrame DataFrame.sample() Funktion

Die Funktion Python Pandas DataFrame.sample() erzeugt eine Stichprobe einer zufälligen Zeile oder Spalte aus einem DataFrame. Die Stichprobe kann mehr als eine Zeile oder Spalte enthalten.

Syntax von pandas.DataFrame.sample()

DataFrame.sample(
    n=None, frac=None, replace=False, weights=None, random_state=None, axis=None
)

Parameter

n Es ist ein Ganzzahl. Er repräsentiert die Zufallszahl der Zeilen oder Spalten, die aus dem DataFrame ausgewählt werden sollen.
frac Es ist ein Float-Wert. Er gibt den Prozentsatz der zufälligen Zeilen oder Spalten an, die aus dem DataFrame extrahiert werden sollen. Zum Beispiel bedeutet frac=0.45, daß die zufällig ausgewählten Zeilen oder Spalten 45% der Originaldaten ausmachen.
replace Es ist ein Boolean-Wert. Wenn er auf True gesetzt ist, gibt er die Probe mit der Ersetzung von Daten zurück.
weights Es ist eine Zeichenkette oder eine N-dimensionale array-ähnliche Struktur. Wenn sie auf einem DataFrame aufgerufen wird, akzeptiert sie den Namen einer Spalte, wenn die Achse 0 ist. Die Zeilen mit größeren Werten in der Gewichtungsspalte werden mit größerer Wahrscheinlichkeit als die Beispieldaten zurückgegeben.
random_state Es ist eine ganzzahlige oder numpy.random.RandomState Funktion. Wenn es eine Ganzzahl ist, dann gibt sie die gleiche Anzahl von Zeilen oder Spalten in jeder Iteration zurück. Andernfalls gibt sie ein numpy.random.RandomState-Objekt zurück.
axis Es ist eine Ganzzahl oder eine Zeichenkette. Er sagt über die Zielachse entweder Zeilen oder Spalten aus. Er kann 0 oder index und 1 oder column sein.

Zurück

Es gibt eine Series oder einen Dataframe zurück. Die zurückgegebene Series oder der Dataframe ist ein Aufrufer, der n zufällig aus dem ursprünglichen Dataframe ausgewählte Elemente enthält.

Beispiel-Codes: DataFrame.sample()

Standardmäßig gibt die Funktion eine Probe zurück, die Zeilen enthält, d.h. axis=1.

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 75, 4: 95},
                    'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                    'Obtained Marks': {0: 56, 1: 75, 2: 82, 3: 64, 4: 67}})
print(dataframe)

Unser DataFrame sieht folgendermaßen aus:

   Attendance    Name  Obtained Marks
0          60  Olivia              56
1         100    John              75
2          80   Laura              82
3          75     Ben              64
4          95   Kevin              67

Alle Parameter dieser Funktion sind optional. Wenn wir diese Funktion ausführen, ohne einen Parameter zu übergeben, gibt sie eine einzelne zufällige Zeile als Ausgabe zurück.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
    }
)
dataframe1 = dataframe.sample()
print(dataframe1)

Ausgabe1:

   Attendance Name  Obtained Marks
3          75  Ben              64

Ausgabe2:

   Attendance   Name  Obtained Marks
4          95  Kevin              67

Ausgang1 und Ausgang2 zeigen zweimal die Ausführung desselben Programms. Jedesmal erzeugt diese Funktion eine Zufallsstichprobe von Zeilen aus dem gegebenen DataFrame.

Beispielcodes: DataFrame.sample() zum Extrahieren der Spalten

Um Säulen in einer Probe zu erzeugen, ändern wir einfach unsere Achse auf 1.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
    }
)
dataframe1 = dataframe.sample(n=1, axis=1)
print(dataframe1)

Ausgabe:

     Name
0  Olivia
1    John
2   Laura
3     Ben
4   Kevin

Die Funktion hat als Ausgabe eine Probe einer einzelnen Spalte erzeugt. Die Anzahl der Spalten wurde durch den Parameter n=1 festgelegt.

Beispielcodes: DataFrame.sample() zur Generierung einer Datenfraktion

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
    }
)
dataframe1 = dataframe.sample(frac=0.5)
print(dataframe1)

Ausgabe:

   Attendance   Name  Obtained Marks
3          75    Ben              64
4          95  Kevin              67
1         100   John              75

Die zurückgegebene Probe entspricht 50% der Originaldaten.

Beispielcodes: DataFrame.sample() zum Überabtasten des DataFrame

Wenn frac>1, dann sollte der Parameter replace True sein, damit die gleiche Zeile mehr als einmal abgetastet werden kann; andernfalls wird ein ValueError ausgegeben.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
    }
)
dataframe1 = dataframe.sample(frac=1.5, replace=True)
print(dataframe1)

Ausgabe:

   Attendance   Name  Obtained Marks
3          75     Ben              64
0          60  Olivia              56
1         100    John              75
2          80   Laura              82
1         100    John              75
2          80   Laura              82
0          60  Olivia              56
4          95   Kevin              67

Wenn der Parameter replace auf False gesetzt ist, während frac größer als 1 ist, dann wird ein ValueError ausgegeben.

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
    }
)
dataframe1 = dataframe.sample(frac=1.5, replace=False)
print(dataframe1)

Ausgabe:

Traceback (most recent call last):
  File "..\test.py", line 6, in <module>
    dataframe1 = dataframe.sample(frac=1.5, replace=False)
  File "..\lib\site-packages\pandas\core\generic.py", line 5044, in sample
    raise ValueError(
ValueError: Replace has to be set to `True` when upsampling the population `frac` > 1.

Beispiel-Codes: DataFrame.sample() Mit Gewichten

import pandas as pd

dataframe = pd.DataFrame(
    {
        "Attendance": {0: 60, 1: 100, 2: 80, 3: 75, 4: 95},
        "Name": {0: "Olivia", 1: "John", 2: "Laura", 3: "Ben", 4: "Kevin"},
        "Obtained Marks": {0: 56, 1: 75, 2: 82, 3: 64, 4: 67},
    }
)
dataframe1 = dataframe.sample(n=2, weights="Attendance")
print(dataframe1)

Ausgabe:

   Attendance   Name  Obtained Marks
1         100   John              75
4          95  Kevin              67

Hier werden in der zurückgegebenen Stichprobe die Zeilen mit größeren Werten in der Spalte Attendance ausgewählt.

Verwandter Artikel - Pandas DataFrame