Cluster-Stichprobe in Pandas (mit Beispielen)

Von Fabian
Kategorie: Python
Lesezeit: 2 Minuten

Forscher entnehmen häufig Stichproben aus einer Population und verwenden die Daten aus der Stichprobe, um Rückschlüsse auf die Gesamtpopulation zu ziehen.

Eine häufig verwendete Stichprobenmethode ist die Cluster-Stichprobe, bei der eine Population in Cluster aufgeteilt wird und alle Mitglieder einiger Cluster ausgewählt werden, um in die Stichprobe aufgenommen zu werden.

In diesem Tutorial wird erläutert, wie Sie Cluster-Sampling für einen Pandas DataFrame in Python durchführen.

Beispiel: Cluster-Sampling in Pandas

Angenommen, ein Unternehmen, das Stadtrundfahrten anbietet, möchte seine Kunden befragen. Aus zehn Touren, die sie an einem Tag geben, wählen sie zufällig vier Touren aus und bitten jeden Kunden, seine Erfahrung auf einer Skala von 1 bis 10 zu bewerten.

Der folgende Code zeigt, wie Sie einen Pandas-DataFrame erstellen, mit dem Sie arbeiten können:

import pandas as pd
import numpy as np

#Machen Sie dieses Beispiel reproduzierbar
np.random.seed(0)

# Dataframe erstellen
df = pd.DataFrame({'tour': np.repeat(np.arange(1,11), 20),
                   'experience': np.random.normal(loc=7, scale=1, size=200)})

# Die ersten sechs Zeilen des DataFrames anzeigen
df.head()

  tour experience
1    1   6.373546
2    1   7.183643
3    1   6.164371
4    1   8.595281
5    1   7.329508
6    1   6.179532

Der folgende Code zeigt, wie Sie eine Stichprobe von Kunden erhalten, indem Sie vier Touren nach dem Zufallsprinzip auswählen und jedes Mitglied dieser Touren in die Stichprobe einbeziehen:

#wähle zufällig 4 Reisegruppen aus den 10 aus
clusters = np.random.choice(np.arange(1,11), size=4, replace=False)

#Stichprobe definieren als alle Mitglieder, die zu einer der 4 Reisegruppen gehören
cluster_sample = df[df['tour'].isin(clusters)]

# Die ersten sechs Reihen der Probe anzeigen
cluster_sample.head()

tour    experience
40  3   5.951447
41  3   5.579982
42  3   5.293730
43  3   8.950775
44  3   6.490348 

# Finden Sie heraus, wie viele Beobachtungen von jeder Reisegruppe kamen
cluster_sample['tour'].value_counts()

10    20
6     20
5     20
3     20
Name: tour, dtype: int64

Aus der Ausgabe können wir Folgendes ersehen:

  • 20 Kunden aus der Reisegruppe Nr. 10 wurden in die Stichprobe aufgenommen.
  • 20 Kunden aus Reisegruppe Nr. 6 wurden in die Stichprobe aufgenommen.
  • 20 Kunden aus Reisegruppe Nr. 5 wurden in die Stichprobe aufgenommen.
  • 20 Kunden aus Reisegruppe Nr. 3 wurden in die Stichprobe aufgenommen.

Somit besteht diese Stichprobe aus insgesamt 80 Kunden, die aus 4 verschiedenen Reisegruppen kamen.

Zusätzliche Ressourcen

Grundlegendes zu verschiedenen Arten von Stichprobenverfahren
Geschichtete Probenahme in Pandas
Systematische Probenahme in Pandas

Statistik: Der Weg zur Datenanalyse

* Amazon Affiliate Link


Das könnte Sie auch interessieren: