
Funkcja groupby()
z biblioteki Pandas to jedno z najpotężniejszych narzędzi, z jakimi możemy pracować w analizie danych. Dzięki niej możemy grupować dane według określonych kategorii, a następnie stosować na nich różnego rodzaju operacje agregujące. Jeśli chcesz dowiedzieć się, jak działa pandas groupby
w języku Python, trafiłeś we właściwe miejsce. Pokażę Ci, jak korzystać z tej funkcji na praktycznych przykładach.
Podstawy działania pandas groupby()
Metoda groupby()
pozwala nam podzielić dane na grupy na podstawie jednej lub kilku kolumn. Po utworzeniu grup możemy przeprowadzać obliczenia statystyczne, sortować dane lub analizować je w inny sposób.
Przykład:
import pandas as pd
# Tworzymy przykładowe dane
data = {
'Kategoria': ['A', 'B', 'A', 'B', 'A', 'C', 'C', 'B'],
'Wartość': [10, 20, 30, 40, 50, 60, 70, 80]
}
df = pd.DataFrame(data)
# Grupowanie po kolumnie "Kategoria"
grupa = df.groupby('Kategoria')
# Sprawdzamy, co mamy w grupach
for nazwa, grupa in grupa:
print(f'Grupa: {nazwa}')
print(grupa, "\n")
Wynik działania powyższego kodu pokazuje, że dane podzieliły się na grupy według kategorii.
Wykonywanie operacji na grupach
Gdy już mamy dane podzielone na grupy, możemy wykonywać na nich operacje agregujące. Kilka najczęściej używanych metod:
sum()
– sumowanie wartości w każdej grupiemean()
– obliczanie średniejcount()
– liczenie liczby elementówmin()
/max()
– znajdowanie najmniejszych i największych wartości
Przykładowy kod:
print(df.groupby('Kategoria').sum())
Wynik:
Kategoria | Wartość (suma) |
---|---|
A | 90 |
B | 140 |
C | 130 |
Grupowanie według wielu kolumn
Możemy również grupować nasze dane według więcej niż jednej kolumny:
df['Rok'] = [2021, 2022, 2021, 2022, 2021, 2022, 2021, 2022]
grupa_wielo = df.groupby(['Kategoria', 'Rok']).sum()
print(grupa_wielo)
Wynikiem jest grupowanie względem dwóch zmiennych.
Filtrowanie grup
Jeśli chcemy zachować tylko te grupy, które spełniają określone warunki, możemy użyć metody filter()
:
filtered = df.groupby('Kategoria').filter(lambda x: x['Wartość'].sum() > 100)
print(filtered)
Teraz w zbiorze pozostaną tylko te grupy, których suma wartości przekracza 100.
Podsumowanie
Funkcja groupby()
w Pandas to niezwykle elastyczne narzędzie do analizy danych. Możemy jej używać do grupowania wartości, wykonywania operacji agregujących i filtrowania danych. Jeśli pracujesz z dużymi zestawami danych w Pythonie, warto dobrze poznać możliwości tego rozwiązania.
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.