Jak działa pandas sample w języku Python? Przykład zastosowania

Jak działa pandas sample w języku Python? Przykład zastosowania
„`html

W pracy z danymi w Pythonie jednym z najczęściej używanych narzędzi jest biblioteka pandas. Oferuje ona szeroki zakres funkcji do manipulacji danymi, a jedną z przydatnych opcji jest metoda sample(). Dzięki niej mogę losowo wybierać próbki danych z obiektów DataFrame lub Series. W tym artykule pokażę dokładnie, jak działa pandas.sample(), jakie ma opcje i jak można ją praktycznie zastosować.

Co robi pandas.sample()?

Metoda sample() pozwala na losowe pobieranie próbek z obiektu DataFrame lub Series. Jest szczególnie przydatna, gdy mam duży zbiór danych i chcę pracować na jego reprezentatywnej części bez konieczności przetwarzania całości.

Podstawowe użycie pandas.sample()

Poniżej przedstawiam przykład podstawowego użycia sample() na DataFrame:


import pandas as pd

# Tworzę przykładowy DataFrame
df = pd.DataFrame({
    'Imię': ['Anna', 'Bartek', 'Cezary', 'Dorota', 'Ewa'],
    'Wiek': [25, 30, 35, 40, 45]
})

# Pobieram losowy wiersz
próbka = df.sample(n=1)

print(próbka)

Wynik będzie zależał od losowania, ale zawsze zostanie zwrócony jeden losowy wiersz z tabeli.

Parametry pandas.sample()

Metoda sample() oferuje kilka przydatnych parametrów, które pozwalają dostosować sposób losowania.

  • n – określa liczbę losowo wybranych wierszy.
  • frac – określa procent danych do pobrania (np. frac=0.5 pobierze 50% danych).
  • replace – jeśli ustawione na True, umożliwia losowanie z powtórzeniami.
  • random_state – umożliwia określenie wartości początkowej generatora liczb losowych.
  • axis – jeśli ustawione na 0 (domyślnie), losuje wiersze; jeśli na 1, losuje kolumny.

Przykłady praktycznego zastosowania

Losowanie większej liczby elementów


# Pobieram 3 losowe wiersze
df.sample(n=3)

Losowanie procentowe


# Pobieram 40% wierszy
df.sample(frac=0.4)

Losowanie z powtórzeniami

Jeśli chcę losować elementy z możliwością ich powtórzenia, mogę użyć parametru replace=True:


df.sample(n=5, replace=True)

Zachowanie powtarzalności wyników

Czasami chcę, aby wyniki losowania były powtarzalne (np. dla celów testowych). W takim przypadku używam random_state:


df.sample(n=2, random_state=42)

Każdorazowe uruchomienie tego kodu zwróci te same dwa wiersze.

Losowanie kolumn zamiast wierszy


df.sample(n=1, axis=1)

Taki zapis losuje jedną kolumnę zamiast wiersza.

Porównanie opcji pandas.sample()

Poniżej zamieszczam tabelę podsumowującą różne możliwości użycia metody sample():

Kod Opis
df.sample(n=3) Losowe 3 wiersze
df.sample(frac=0.5) Losowe 50% wierszy
df.sample(n=5, replace=True) Losowanie 5 wierszy z powtórzeniami
df.sample(n=2, random_state=42) Ustalona losowość wyników
df.sample(n=1, axis=1) Losowanie kolumn zamiast wierszy

Podsumowanie

Metoda pandas.sample() to bardzo użyteczne narzędzie pozwalające na efektywne losowanie próbek z danych. Dzięki niej mogę testować algorytmy, analizować próbki danych czy przygotowywać losowe podzbiory dużych zestawów. Dostosowanie losowania jest możliwe dzięki różnym parametrom, takim jak n, frac, replace czy random_state. Mam nadzieję, że ten artykuł pozwolił lepiej zrozumieć, jak działa pandas.sample() w języku Python.

„` Inny ciekawy artykuł: Jak działa pandas sort_index w języku Python? Przykład zastosowania
KajoDataSpace