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

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

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:

  1. Gdy chcemy zastosować wiele różnych operacji agregujących jednocześnie.
  2. Gdy musimy użyć różnych metod dla różnych kolumn.
  3. Gdy chcemy wprowadzić niestandardowe funkcje agregujące.
  4. 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
KajoDataSpace