
Pracując z danymi w Pythonie, często musimy sprawdzić, które wartości w naszych zbiorach są dostępne, a które to braki. Biblioteka pandas oferuje nam wygodne narzędzie do tego zadania – funkcję pandas.notna(). W tym artykule dokładnie wyjaśnię, jak działa ta funkcja, jakie są jej praktyczne zastosowania i jak można ją wykorzystać do analizy danych.
Co to jest pandas.notna()?
pandas.notna() to funkcja biblioteki pandas, która sprawdza, czy dany element nie jest wartością pustą (NaN – Not a Number). Jest to odwrotność funkcji pandas.isna(). Oznacza to, że pandas.notna() zwraca True dla wszystkich wartości, które nie są brakami (czyli które istnieją w zbiorze danych).
Jak działa pandas.notna() w praktyce?
Najlepiej zobaczyć działanie tej funkcji na przykładach.
Sprawdzanie pojedynczych wartości
Możemy użyć pandas.notna() do sprawdzenia pojedynczej wartości:
import pandas as pd
import numpy as np
print(pd.notna(5)) # True
print(pd.notna("hello")) # True
print(pd.notna(np.nan)) # False
print(pd.notna(None)) # False
Jak widać, wartości liczbowe oraz tekstowe zwracają True, natomiast wartości brakujące (NaN, None) zwracają False.
Zastosowanie dla obiektów Series
Gdy pracujemy z pandas.Series, możemy łatwo sprawdzić, które wartości z kolekcji nie są brakami:
data = pd.Series([1, np.nan, "Python", None, 42])
print(pd.notna(data))
Wynik będzie następujący:
0 True
1 False
2 True
3 False
4 True
dtype: bool
Funkcja zwraca obiekt Series zawierający True dla tych elementów, które nie są brakami.
Zastosowanie dla DataFrame
Podobnie możemy sprawdzić wartości w ramach tabeli DataFrame:
df = pd.DataFrame({
'A': [1, np.nan, 3],
'B': ['x', 'y', None],
'C': [np.nan, 4, 5]
})
print(pd.notna(df))
Wynik:
| A | B | C | |
|---|---|---|---|
| 0 | True | True | False |
| 1 | False | True | True |
| 2 | True | False | True |
Jak widać, tabela zawiera wartości True we wszystkich miejscach, gdzie istnieją dane, i False tam, gdzie znajdują się braki.
Praktyczne zastosowania pandas.notna()
Funkcja ta znajduje zastosowanie w wielu miejscach analizy danych. Oto kilka przykładów:
1. Filtrowanie wierszy bez pustych wartości
Chcąc pozbyć się wierszy zawierających braki, możemy skorzystać z notna() w połączeniu z metodą loc:
df_clean = df.loc[pd.notna(df['A'])]
print(df_clean)
2. Liczenie niepustych wartości
Jeżeli chcemy sprawdzić, ile jest rzeczywistych wartości w każdej kolumnie, możemy użyć:
print(df.notna().sum())
To pozwoli szybko określić, w której kolumnie mamy najwięcej braków.
3. Wypełnianie brakujących wartości
Za pomocą notna() możemy również wypełnić brakujące wartości w oparciu o dostępne dane:
df['A'] = df['A'].fillna(df['A'][df['A'].notna()].mean())
W ten sposób możemy uzupełnić braki średnią arytmetyczną.
Podsumowanie
Funkcja pandas.notna() w języku Python to potężne narzędzie do identyfikowania brakujących wartości w zbiorach danych. Możemy jej używać zarówno na pojedynczych wartościach, jak i na obiektach Series oraz DataFrame. Dzięki temu możemy łatwo filtrować, liczyć i obsługiwać brakujące dane.
Jeśli pracujesz z bazami danych i często napotykasz wartości NaN lub None, warto opanować pandas.notna(), aby efektywnie analizować dane i pozbywać się braków.
Inny ciekawy artykuł:
Jak działa pandas isna 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.

