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

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

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 grupie
  • mean() – obliczanie średniej
  • count() – liczenie liczby elementów
  • min() / 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.

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