
W pracy z danymi w Pythonie niezwykle ważne jest stosowanie odpowiednich narzędzi do ich analizy i agregacji. Jednym z najczęściej używanych modułów jest pandas, a jedna z najpotężniejszych metod w tej bibliotece to agg(). W tym artykule pokażę, jak działa pandas.agg() w języku Python oraz przedstawię przykłady jego zastosowania.
Co to jest pandas.agg()?
Metoda agg() (skrót od „aggregate”) pozwala na wykonywanie różnych operacji agregujących na kolumnach obiektów DataFrame i Series. Dzięki niej możemy wywoływać wbudowane funkcje, a także własne funkcje lambda na jednej lub wielu kolumnach jednocześnie.
Podstawowa składnia pandas.agg()
Funkcja agg() może być stosowana zarówno na obiekcie Series, jak i na DataFrame. Podstawowa składnia wygląda następująco:
df.agg(func, axis=0, *args, **kwargs)
func– pojedyncza funkcja, lista funkcji lub słownik funkcji do zastosowania.axis– określa, czy operacja ma być stosowana wzdłuż wierszy (axis=0) czy kolumn (axis=1).*args, **kwargs– dodatkowe argumenty przekazywane do funkcji agregujących.
Pandas.agg() na Series – podstawowe zastosowanie
Na początek zobaczmy, jak działa agg() na obiekcie Series:
import pandas as pd
# Tworzymy serię liczb
s = pd.Series([1, 2, 3, 4, 5])
# Stosujemy kilka funkcji agregujących
result = s.agg(['sum', 'mean', 'max'])
print(result)
Wynik:
sum 15.0
mean 3.0
max 5.0
dtype: float64
Jak widać, możemy z łatwością zastosować wiele funkcji na raz, zwracając nową serię.
Pandas.agg() na DataFrame – przykład zastosowania
Funkcja agg() staje się jeszcze potężniejsza, gdy używamy jej na obiekcie DataFrame. Poniżej przykład:
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50]
})
# Agregacja dla całej tabeli
result = df.agg(['sum', 'mean'])
print(result)
Wynik:
| A | B | |
|---|---|---|
| sum | 15.0 | 150.0 |
| mean | 3.0 | 30.0 |
Stosowanie różnych funkcji na różnych kolumnach
Jednym z ciekawszych sposobów użycia agg() jest określanie różnych metod dla poszczególnych kolumn:
result = df.agg({
'A': ['sum', 'min'],
'B': ['max', 'mean']
})
print(result)
Wynik:
| A | B | |
|---|---|---|
| sum | 15.0 | NaN |
| min | 1.0 | NaN |
| max | NaN | 50.0 |
| mean | NaN | 30.0 |
Używanie własnych funkcji z pandas.agg()
Oprócz wbudowanych funkcji możemy także definiować własne metody agregujące:
result = df.agg({
'A': lambda x: x.max() - x.min(),
'B': lambda x: x.sum() / 2
})
print(result)
Wynik:
A 4.0
B 75.0
dtype: float64
Kiedy warto używać pandas.agg()?
Oto kilka przypadków, gdy agg() to najlepszy wybór:
- Gdy chcemy zastosować wiele różnych operacji agregujących jednocześnie.
- Gdy musimy użyć różnych metod dla różnych kolumn.
- Gdy chcemy wprowadzić niestandardowe funkcje agregujące.
- Gdy pracujemy z dużymi zbiorami danych i potrzebujemy efektywnego agregowania.
Podsumowanie
Metoda pandas.agg() to niezwykle potężne narzędzie do agregacji danych w języku Python. Pozwala na stosowanie gotowych oraz niestandardowych funkcji zarówno na pojedynczych seriach, jak i całych tabelach DataFrame. Dzięki elastyczności oraz możliwości określania różnych metod dla poszczególnych kolumn, jest niezastąpiona w analizie danych.
Inny ciekawy artykuł:
Jak działa pandas groupby w języku Python? Przykład zastosowania
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, PowerBI, Tableau i Pythona z certyfikatami!
🟨 Ekskluzywana ale pomagająca sobie społeczność.
🟩 Ponad 75 godzin materiałów video.
🟨 Spotkania LIVE co miesiąc.
🟩 Mój osobisty mentoring.

