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

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

Jeśli kiedykolwiek pracowałem z biblioteką Pandas w Pythonie, na pewno natknąłem się na brakujące wartości w danych. Często zdarza się, że zestawy danych mają puste komórki, oznaczone jako NaN (Not a Number). Właśnie w takich sytuacjach przychodzi z pomocą metoda fillna(), która pozwala na wypełnianie brakujących wartości odpowiednimi danymi.

Co to jest pandas.fillna()?

Metoda fillna() w Pandas służy do zastępowania wartości NaN innymi wartościami. Może to być konkretna liczba, średnia obliczona na podstawie dostępnych danych lub nawet wartość skopiowana z innej komórki danych. To jedno z podstawowych narzędzi do czyszczenia danych, a jego znajomość jest kluczowa przy analizie dużych zbiorów informacji.

Podstawowa składnia pandas.fillna()

Podstawowa składnia metody wygląda tak:


DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None)

Gdzie:

  • value – wartość, którą chcemy wstawić w miejsce brakujących danych.
  • method – sposób uzupełniania brakujących wartości (ffill – wypełnianie do przodu, bfill – wypełnianie do tyłu).
  • axis – określa, czy uzupełniamy wiersze (0) czy kolumny (1).
  • inplace – jeśli True, modyfikuje oryginalny obiekt; jeśli False, zwraca nowy DataFrame.
  • limit – maksymalna liczba wartości, które mają zostać uzupełnione.

Przykłady zastosowania pandas.fillna()

1. Wypełnianie brakujących wartości stałą liczbą

Najprostszym sposobem korzystania z fillna() jest podanie konkretnej wartości, którą zastąpimy NaN.


import pandas as pd

# Tworzymy DataFrame
df = pd.DataFrame({'A': [1, 2, None, 4], 'B': [None, 5, 6, None]})

# Uzupełniamy brakujące wartości wartością 0
df_filled = df.fillna(0)

print(df_filled)

Efektem działania powyższego kodu będzie DataFrame, w którym wszystkie puste wartości zostały zamienione na 0:

A B
1.0 0.0
2.0 5.0
0.0 6.0
4.0 0.0

2. Uzupełnianie wartości średnią z kolumny

Często w praktyce dane uzupełnia się średnią z danej kolumny, aby nie zaburzyć rozkładu wartości.


# Uzupełnianie wartości średnią kolumny
df_filled = df.fillna(df.mean())

print(df_filled)

Teraz wartości NaN w każdej kolumnie zostaną zastąpione jej średnią arytmetyczną.

3. Wypełnianie poprzednią wartością (forward fill)

Gdy mamy do czynienia z danymi czasowymi, czasem warto wypełnić brakujące wartości poprzednią dostępną wartością.


# Wypełnianie brakujących wartości poprzednią wartością
df_filled = df.fillna(method='ffill')

print(df_filled)

4. Wypełnianie wartości w dół (backward fill)

Podobnie możemy wypełnić wartości metodą wsteczną.


# Wypełnianie wartości w dół (backfill)
df_filled = df.fillna(method='bfill')

print(df_filled)

Kiedy warto używać pandas.fillna()?

Metoda ta jest nieoceniona w wielu sytuacjach, między innymi:

  • Przygotowywanie danych do analizy statystycznej.
  • Czyszczenie zbiorów danych do uczenia maszynowego.
  • Przetwarzanie dużych zbiorów danych, gdzie usunięcie pustych wartości nie jest opcją.

Podsumowanie

Jak widać, metoda fillna() w Pandas daje ogromne możliwości uzupełniania brakujących wartości w danych. Można jej używać w prosty sposób, podając konkretną wartość, lub bardziej dynamicznie – stosując wyliczenia i metody ffill czy bfill. To jedno z tych narzędzi, które warto mieć w swoim arsenale, jeśli pracujemy z danymi w Pythonie.

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