
Jeśli pracujesz z analizą danych w Pythonie, na pewno miałeś okazję korzystać z bibliotek takich jak pandas. Jedną z bardzo przydatnych funkcji dostępnych w tej bibliotece jest pandas.nunique()
. Dzisiaj przyjrzymy się dokładnie temu, jak działa pandas nunique()
, do czego można go użyć i jakie są praktyczne przykłady jego zastosowania.
Co robi pandas.nunique()?
Funkcja pandas.nunique()
służy do zliczania unikalnych wartości w kolumnach lub wierszach obiektu Series
lub DataFrame
. Innymi słowy, jeśli masz zbiór danych i chcesz sprawdzić, ile różnych wartości znajduje się w określonej kolumnie, ta funkcja dostarczy Ci odpowiedzi.
Podstawowa składnia pandas.nunique()
Oto podstawowa składnia tej funkcji:
DataFrame.nunique(axis=0, dropna=True)
Argumenty, które możemy przekazać:
- axis – domyślnie 0 (czyli liczenie unikalnych wartości w kolumnach). Jeśli ustawimy na 1, liczenie odbywa się na poziomie wierszy.
- dropna – domyślnie
True
, co oznacza, że wartościNaN
(brakujące) nie są liczone. Jeśli ustawimy naFalse
, zostaną również uwzględnione.
Przykłady zastosowania pandas.nunique()
1. Liczenie unikalnych wartości w kolumnach
Załóżmy, że mamy następujący DataFrame
:
import pandas as pd
data = {
'A': [1, 2, 2, 3, 3, 3],
'B': ['a', 'b', 'a', 'b', 'b', 'b'],
'C': [None, 1, 2, 2, 2, None]
}
df = pd.DataFrame(data)
print(df.nunique())
Wynik:
A 3
B 2
C 2
dtype: int64
Wytłumaczenie:
- Kolumna
A
ma 3 unikalne wartości: 1, 2, 3. - Kolumna
B
ma 2 unikalne wartości:a
ib
. - Kolumna
C
ma 2 unikalne wartości: 1 i 2 (wartościNone
nie są liczone).
2. Uwaga na wartości NaN
Jeśli chcemy, aby wartości NaN
były liczone jako unikalne, musimy ustawić dropna=False
:
print(df.nunique(dropna=False))
Wynik:
A 3
B 2
C 3
dtype: int64
Teraz kolumna C
ma 3 różne wartości, ponieważ None
został wzięty pod uwagę jako jeden z unikalnych elementów.
3. Liczenie unikalnych wartości w wierszach
Jeśli chcemy policzyć unikalne wartości dla każdego wiersza, musimy ustawić axis=1
:
print(df.nunique(axis=1))
Wynik:
0 2
1 3
2 3
3 2
4 2
5 2
dtype: int64
Wytłumaczenie:
- Wiersz 0: unikalne wartości to
1
ia
, więc licznik zwraca2
. - Wiersz 1: mamy
2
,b
i1
– licznik zwraca3
. - W pozostałych przypadkach również obliczane są unikalne wartości danych w każdym wierszu.
Porównanie pandas.value_counts() i pandas.nunique()
Warto także wspomnieć o podobnej funkcji, jaką jest pandas.value_counts()
. O ile nunique()
zwraca tylko liczbę unikalnych wartości, value_counts()
zwraca dokładną liczbę wystąpień każdej wartości w danej kolumnie.
Przykład:
print(df['B'].value_counts())
Wynik:
b 4
a 2
Name: B, dtype: int64
Podsumowanie
Funkcja pandas.nunique()
to jedno z przydatnych narzędzi do analizy danych w bibliotece pandas. Dzięki niej możemy:
- Sprawdzić, ile unikalnych wartości znajduje się w kolumnie.
- Określić, czy w zbiorze danych znajdują się duplikaty wartości.
- Analizować zmienność danych w wierszach.
- W łatwy sposób porównywać różne kolumny pod kątem ich różnorodności.
Teraz już wiesz, jak działa pandas nunique w języku Python i jak możesz wykorzystać tę funkcję w praktyce!
„` Inny ciekawy artykuł: Jak działa pandas unique w języku Python? Przykład zastosowaniaOpanuj 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.