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

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

W pracy z danymi w Pythonie biblioteka pandas jest jednym z najczęściej używanych narzędzi. Jedną z podstawowych operacji, jakie możemy wykonać na danych, jest znalezienie unikalnych wartości w kolumnie lub całej serii danych. Do tego celu służy metoda pandas.unique(). Jak dokładnie działa? Jak jej używać? Przyjrzyjmy się temu bliżej.

Co to jest pandas.unique()?

Metoda pandas.unique() służy do zwracania unikalnych wartości z obiektu typu Series lub tablicy numpy. Jest to funkcja szeroko wykorzystywana w analizie danych, gdy chcemy zrozumieć różnorodność wartości w zbiorze danych.

Składnia pandas.unique()

Najprostsza składnia funkcji wygląda następująco:

pandas.unique(values)

Gdzie values to jednowymiarowa tablica, np. obiekt pandas.Series.

Przykład zastosowania pandas.unique()

Aby zobaczyć, jak działa pandas.unique(), najpierw załaduję bibliotekę pandas i stworzę przykładowy zbiór danych.

import pandas as pd

# Tworzymy przykładową serię danych
serie = pd.Series([3, 1, 2, 3, 3, 4, 1, 2, 5])

# Zastosowanie pandas.unique()
unikalne_wartosci = pd.unique(serie)

print(unikalne_wartosci)

Wynikiem tego działania będzie tablica NumPy zawierająca unikalne wartości:

[3 1 2 4 5]

Jak widać, funkcja usunęła duplikaty i zwróciła tylko jedną instancję każdej wartości.

Zastosowanie w obiektach DataFrame

Chociaż metoda pandas.unique() działa bezpośrednio na obiektach Series, możemy ją również zastosować na kolumnach w obiekcie DataFrame.

df = pd.DataFrame({
    'A': [1, 1, 2, 2, 3, 4, 4],
    'B': ['a', 'b', 'b', 'c', 'a', 'a', 'd']
})

unikalne_w_kolumnie_A = pd.unique(df['A'])
print(unikalne_w_kolumnie_A)

Powyższy kod zwróci:

[1 2 3 4]

Metoda sprawdza się doskonale, gdy chcemy szybko znaleźć unikalne wartości w jednej kolumnie tabeli.

Częste błędy i ich unikanie

Podczas korzystania z pandas.unique() warto pamiętać o kilku kwestiach:

  • Funkcja działa tylko na listach jednowymiarowych – nie można jej używać bezpośrednio na całym DataFrame.
  • Nie zachowuje kolejności sortowania – zwracane wartości pojawiają się w kolejności ich wystąpienia.
  • Działa tylko na tablicach numpy i seriach pandas – jeśli spróbujesz podać np. słownik, funkcja zwróci błąd.

Alternatywa – metoda drop_duplicates()

Jeżeli pracujemy na całym DataFrame i chcemy znaleźć unikalne wartości w kontekście wielu kolumn, warto zapoznać się z metodą drop_duplicates().

df_unique = df.drop_duplicates()
print(df_unique)

W przeciwieństwie do pandas.unique(), funkcja ta usuwa duplikaty z całej tabeli, dając wynik w postaci nowego DataFrame.

Podsumowanie

Metoda pandas.unique() to szybkie i skuteczne rozwiązanie, gdy potrzebujemy uzyskać unikalne wartości z serii danych lub kolumny DataFrame. Jest łatwa w użyciu i doskonale sprawdza się w podstawowej eksploracji danych. Jeśli jednak chcemy analizować unikalność całych wierszy w tabeli, warto sięgnąć po alternatywę w postaci drop_duplicates().

Metoda Zastosowanie
pandas.unique() Unikalne wartości z pojedynczej kolumny lub serii
drop_duplicates() Usuwanie duplikatów w całym DataFrame

Znając te metody, możemy efektywnie analizować dane i usuwać powtarzające się wartości, co przydaje się w codziennych projektach analitycznych.

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