
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 naTrue
, umożliwia losowanie z powtórzeniami.random_state
– umożliwia określenie wartości początkowej generatora liczb losowych.axis
– jeśli ustawione na0
(domyślnie), losuje wiersze; jeśli na1
, 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.
Opanuj analizę danych w Pythonie z moim kursem!
Opanujesz podstawy programowania w Pythonie, w tym typy danych, zmienne, listy, słowniki, funkcje oraz obsługę błędów. Nauczysz się korzystać z biblioteki pandas do zaawansowanej analizy danych i pracy z różnymi rodzajami danych. Zrozumiesz proces analizy, eksploracji (EDA) i wizualizacji. Tworzenie własnych funkcji przygotuje Cię do rozmów kwalifikacyjnych i rozwiązywania rzeczywistych problemów biznesowych.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.