1. Podstawy filtrowania danych w DataFrame
Dlaczego filtrowanie jest potrzebne?
Jak filtry w twojej ulubionej aplikacji do selfie, filtrowanie w pandas pomaga nam skupić się na tym, co najważniejsze. Możemy odrzucić niepotrzebne dane i zachować tylko to, co naprawdę się liczy. To podstawowe narzędzie do analizy danych, zwłaszcza gdy trzeba przygotować raporty lub zrozumieć duże zbiory danych.
Nasze pierwsze filtrowanie
Zacznijmy od prostego przykładu. Mamy DataFrame
z informacją o sprzedaży produktów:
import pandas as pd
data = {
"Produkt": ["Pomarańcze", "Banany", "Jabłka", "Pomarańcze", "Jabłka"],
"Ilość": [10, 5, 8, 7, 6],
"Cena": [3.5, 2.0, 4.0, 3.0, 4.5]
}
df = pd.DataFrame(data)
# Filtrowanie produktów po nazwie
filtered_df = df[df["Produkt"] == "Pomarańcze"]
print(filtered_df)
Używanie warunków
Możemy łączyć warunki, jak w multifiltrze! Na przykład znajdźmy wszystkie produkty, których sprzedano więcej niż 6 sztuk za cenę nie większą niż 3.5 jednostki:
# Łączenie warunków za pomocą & (logiczne "i")
filtered_df = df[(df["Ilość"] > 6) & (df["Cena"] <= 3.5)]
print(filtered_df)
Zapamiętaj ważne punkty
Nie zapominaj, że w pandas używamy nawiasów kwadratowych do tworzenia filtrów i okrągłych do warunków. Nie chcesz przecież zostać "tym człowiekiem", który zapomni o nawiasach?
2. Sortowanie danych
Dlaczego sortowanie jest ważne?
Sortowanie danych pozwala nam dostrzec strukturę i porządek w chaosie (o ile w danych w ogóle bywa chaos). Na przykład wyobraź sobie, że jesteś w bibliotece, gdzie książki są porozrzucane w przypadkowy sposób — koszmar! Sortowanie pomaga uporządkować informacje, czy to do analizy, raportów, czy po prostu do znalezienia potrzebnej wartości.
Sortowanie po jednej kolumnie
Posortujmy nasz DataFrame
w kolejności rosnącej ceny produktów:
# Sortowanie rosnące według ceny
sorted_df = df.sort_values(by="Cena")
print(sorted_df)
Sortowanie po kilku kolumnach
Wyobraź sobie, że musisz posortować dane najpierw według ilości, a jeśli ilość jest taka sama, według ceny i w kolejności malejącej. Oto jak to zrobić:
# Sortowanie według ilości i ceny
sorted_df = df.sort_values(by=["Ilość", "Cena"], ascending=[True, False])
print(sorted_df)
Funkcje sortowania
Zwróć uwagę na parametr ascending
. Pozwala on określić, w jakiej kolejności (rosnącej czy malejącej) chcesz posortować dane. To przydatne, jeśli zamierzasz "złowrogo" rządzić swoimi danymi.
3. Zastosowanie w praktyce
Zadanie praktyczne
Teraz czas zastosować naszą wiedzę w praktyce! Załóżmy, że jesteś analitykiem w firmie handlującej gadżetami. Twoim zadaniem jest znalezienie wszystkich modeli telefonów, które sprzedano w ilości większej niż 100 sztuk i posortowanie ich według malejącego zysku.
# Dane o sprzedaży telefonów
data = {
"Model": ["Phone X", "Phone Y", "Phone Z", "Phone X", "Phone Y"],
"Sprzedano": [120, 150, 90, 130, 80],
"Zysk": [200, 180, 220, 210, 190]
}
df = pd.DataFrame(data)
# Filtrowanie modeli z sprzedażą większą niż 100
filtered_df = df[df["Sprzedano"] > 100]
# Sortowanie według malejącego zysku
sorted_df = filtered_df.sort_values(by="Zysk", ascending=False)
print(sorted_df)
Analiza i dyskusja
Używaj kombinacji filtrów i sortowania, aby uzyskać dane, które naprawdę Cię interesują lub są ważne dla raportu. Jak każde inne narzędzie, filtrowanie i sortowanie stają się potężniejsze wraz z praktyką. Nie zapominaj, że dobrze sformatowane dane to nie tylko błogosławieństwo analityka, ale także jego największa duma.
Typowe błędy
Niektórzy nowicjusze czasami zapominają używać nawiasów okrągłych w warunkach filtrowania, co prowadzi do błędów. To jak zapomnienie przykrycia garnka pokrywką — wszystko może wymknąć się spod kontroli. Innym częstym błędem jest nieprawidłowo wskazana kolejność sortowania według kilku pól. Upewnij się, że używasz ascending
prawidłowo, aby nie odwrócić wszystkiego do góry nogami.
Zastosowanie praktyczne
W praktyce filtrowanie i sortowanie to niezastąpione narzędzia dla każdego analityka danych. Pomagają szybko uzyskać potrzebne dane z złożonych zbiorów i przygotować je do raportów. W rzeczywistości są one używane wszędzie: od fintechu po badania medyczne. Na przykład, banki mogą filtrować transakcje, aby wykrywać podejrzane działania, a badacze sortują dane z testów leków, aby odkrywać ukryte zależności. Nie wspominając już o tym, że znajomość tych narzędzi może być doskonałym atutem podczas rozmów kwalifikacyjnych.
4. Zewnętrzne zasoby do nauki
Dla tych, którzy chcą zgłębić temat, polecam zapoznanie się z oficjalną dokumentacją pandas, która jest doskonałym źródłem do zrozumienia wszystkich możliwości tej biblioteki. Znajdziesz tam wiele przykładów i wyjaśnień, które pomogą ci opanować to narzędzie na profesjonalnym poziomie.
GO TO FULL VERSION