
Biblioteka pandas to jedno z najważniejszych narzędzi dla osób pracujących z danymi w języku Python. Umożliwia wygodne operowanie na tabelach danych, wykonywanie różnorodnych analiz i manipulacji. Jedną z jej bardzo przydatnych metod jest idxmin()
. W tym artykule przyjrzymy się jej dokładnie i zobaczymy, jak działa pandas idxmin
w języku Python, a także przedstawimy przykład jej zastosowania.
Co robi pandas.idxmin()?
Metoda idxmin()
zwraca indeks pierwszego wystąpienia minimalnej wartości w serii lub kolumnie w ramce danych. Innymi słowy, pozwala szybko znaleźć indeks, pod którym znajduje się najmniejsza wartość.
Jest to szczególnie przydatne, gdy pracujemy na dużych zbiorach danych i chcemy szybko odnaleźć lokalizację wartości minimalnej, zamiast tylko jej wartość.
Składnia pandas.idxmin()
Metoda idxmin()
jest dostępna zarówno dla obiektów Series
, jak i DataFrame
. Oto jej ogólna składnia:
Series.idxmin(axis=0, skipna=True)
DataFrame.idxmin(axis=0, skipna=True)
Gdzie:
axis
– określa, wzdłuż której osi szukać minimalnej wartości:axis=0
(domyślnie) – wyszukiwanie w kolumnach (dlaDataFrame
).axis=1
– wyszukiwanie w wierszach (dlaDataFrame
).
skipna
– jeśliTrue
(domyślnie), ignoruje wartościNaN
.
Przykład zastosowania pandas.idxmin()
Aby lepiej zrozumieć działanie tej metody, przyjrzyjmy się przykładowemu kodowi:
import pandas as pd
# Tworzymy serię danych z przykładowymi wartościami
seria = pd.Series([10, 3, 5, 2, 8, 2])
# Zwracamy indeks pierwszego minimalnego elementu w serii
indeks_min = seria.idxmin()
print(f"Indeks pierwszej minimalnej wartości: {indeks_min}")
Wynik:
Indeks pierwszej minimalnej wartości: 3
Oznacza to, że najmniejsza wartość (2
) znajduje się pod indeksem 3
.
Wyszukiwanie minimalnej wartości w DataFrame
Teraz zobaczmy, jak idxmin()
działa na ramce danych (DataFrame
):
import pandas as pd
# Tworzymy przykładowy DataFrame
df = pd.DataFrame({
'A': [10, 3, 5, 8, 2],
'B': [1, 9, 4, 6, 2]
})
# Znajdujemy indeksy minimalnych wartości dla każdej kolumny
indeksy_min = df.idxmin()
print(indeksy_min)
Wynik:
A | B | |
---|---|---|
0 | 4 | 0 |
Oznacza to, że w kolumnie A
najmniejsza wartość 2
znajduje się pod indeksem 4
, a w kolumnie B
najmniejsza wartość 1
występuje w wierszu 0
.
Wyszukiwanie minimalnych wartości w wierszach
Podobną operację możemy wykonać w innych wymiarach, np. sprawdzając minimalne wartości w wierszach poprzez ustawienie parametru axis=1
:
indeksy_min_wiersze = df.idxmin(axis=1)
print(indeksy_min_wiersze)
W tym przypadku zwracana jest seria z nazwami kolumn, w których znajdują się minimalne wartości dla poszczególnych wierszy.
Obsługa wartości brakujących (NaN)
Jeśli w danych znajdują się wartości brakujące (NaN
), metoda idxmin()
domyślnie je ignoruje. Możemy to zobaczyć w poniższym przykładzie:
df_nan = pd.DataFrame({
'A': [10, None, 5, 8, 2],
'B': [1, 9, None, 6, 2]
})
print(df_nan.idxmin())
Jeśli jednak ustawimy skipna=False
, a w danej kolumnie wszystkie wartości są NaN
, otrzymamy błąd.
Podsumowanie
Metoda idxmin()
w pandas to bardzo przydatne narzędzie do szybkiego odnajdywania indeksów minimalnych wartości w ramach danych. Warto pamiętać o kilku kluczowych kwestiach:
idxmin()
działa zarówno naSeries
, jak iDataFrame
.- Domyślnie szuka minimalnych wartości wzdłuż kolumn (
axis=0
). - Możemy zmienić wyszukiwanie na wiersze, ustawiając
axis=1
. - Metoda ignoruje wartości
NaN
, chyba że ustawimyskipna=False
.
Znajomość idxmin()
może znacznie ułatwić analizę danych, zwłaszcza gdy pracujemy na dużych zbiorach i potrzebujemy szybko odnaleźć indeksy najmniejszych wartości.
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.