Porady. Pandas. Python. Django. Microsoft Power BI. Tableau.

Python. Metoda filter()

| python | filter | python filtrowanie elementów

Funkcja filter() w Pythonie to wbudowana funkcja, która służy do filtrowania elementów sekwencji (takich jak listy czy krotki) na podstawie podanej funkcji predykatu. Zwraca iterator z tymi elementami, dla których predykat zwraca wartość True. Jest to elegancki sposób na selektywne przetwarzanie danych bez konieczności pisania pętli for, co czyni kod bardziej zwięzłym i czytelnym.

Przykład w e-commerce

Rozważmy sklep internetowy z danymi o zamówieniach. Chcemy wyfiltrować zamówienia o wartości powyżej 500 zł, aby zidentyfikować te generujące największy przychód.

# Przykładowe dane: lista zamówień z wartościami
zamowienia = [120, 450, 780, 320, 650, 200, 910]

# Definicja predykatu: funkcja sprawdzająca wartość > 500
def wysokowartosciowe(zamowienie):
return zamowienie > 500

# Filtrowanie za pomocą filter()
wysokie_zamowienia = list(filter(wysokowartosciowe, zamowienia))

# Wyświetlenie wyniku
print(wysokie_zamowienia)

Wynik:

Wyjaśnienie: filter() stosuje predykat do każdego elementu listy i tworzy iterator z tymi spełniającymi warunek.

Zastosowanie

Kiedy używać filter()?

  • Gdy potrzebujesz wybrać podzbiór danych na podstawie warunku, np. produkty w promocji, aktywni użytkownicy czy transakcje powyżej progu.
  • W połączeniu z lambda dla jednorazowych predykatów: list(filter(lambda x: x > 500, dane)).
  • Do optymalizacji pamięci – zwraca iterator, nie kopiuje całej listy od razu.
  • W analizie danych e-commerce: filtrowanie koszyków porzuconych, zamówień z określonego regionu czy produktów z niską marżą.

Unikaj w prostych przypadkach, gdzie czytelniejsza będzie lista składniowa [x for x in dane if warunek].

Podsumowanie

filter() przyspiesza przetwarzanie dużych zbiorów danych w e-commerce, umożliwiając szybkie decyzje biznesowe oparte na kluczowych podzbiorach.