
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.
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, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.