Wybieranie wierszy DataFrame na podstawie wartości kolumn w Pythonie

Python

Używanie Pand do filtrowania ramek danych według wartości kolumn

Podczas pracy z danymi w Pythonie biblioteka Pandas oferuje potężne narzędzia do manipulacji i analizy danych. Jednym z typowych zadań jest wybieranie wierszy z ramki DataFrame na podstawie wartości w określonej kolumnie. Ta operacja jest podobna do zapytania SQL: SELECT * FROM table WHERE nazwa_kolumny = jakaś_wartość.

W tym artykule przyjrzymy się, jak osiągnąć ten cel w Pandach, stosując różne metody. Niezależnie od tego, czy filtrujesz według pojedynczej wartości, czy wielu kryteriów, Pandas zapewnia intuicyjne i skuteczne sposoby obsługi takich operacji. Zagłębmy się w szczegóły.

Komenda Opis
pd.DataFrame() Tworzy obiekt DataFrame na podstawie słownika lub innych struktur danych.
df[condition] Filtruje wiersze DataFrame na podstawie warunku, zwracając tylko te, które spełniają kryteria.
print() Wysyła określony komunikat lub ramkę danych do konsoli.
df['column'] == value Tworzy serię logiczną używaną do filtrowania wierszy, w których kolumna odpowiada określonej wartości.
df['column'] >df['column'] > value Tworzy serię logiczną używaną do filtrowania wierszy, w których wartości kolumn są większe niż określona wartość.
# Comment Służy do dodawania wyjaśnień lub notatek w kodzie, które nie są wykonywane jako część skryptu.

Implementowanie wyboru wierszy DataFrame w Pandach

W dostarczonych skryptach kluczowym zadaniem jest filtrowanie wierszy z ramki DataFrame na podstawie określonych wartości kolumn, co jest powszechnym wymaganiem w analizie danych. Pierwszy skrypt rozpoczyna się od zaimportowania biblioteki Pandas za pomocą . Jest to istotne, ponieważ Pandas to potężna biblioteka do manipulacji danymi w Pythonie. Następnie tworzymy przykładową ramkę DataFrame za pomocą ze słownikiem zawierającym dane o imionach, wieku i miastach. Taka struktura pozwala nam łatwo wizualizować i manipulować danymi tabelarycznymi. Kluczową częścią skryptu jest filtrowanie wierszy za pomocą . To polecenie zaznacza wszystkie wiersze, w których wartość kolumny miasta to „Nowy Jork”. Wynik jest zapisywany w zmiennej ny_rows, który jest następnie drukowany w celu wyświetlenia przefiltrowanej ramki danych.

Drugi skrypt ma podobną strukturę, ale skupia się na filtrowaniu wierszy na podstawie warunku numerycznego. Po zaimportowaniu Pand i utworzeniu ramki DataFrame z kolumnami produktu, ceny i ilości, skrypt używa do filtrowania wierszy, w których cena jest większa niż 150. To polecenie tworzy podzbiór oryginalnej ramki DataFrame zawierającej tylko wiersze spełniające określony warunek. Wynik jest zapisywany w i wydrukowane w celu weryfikacji. Obydwa skrypty demonstrują możliwości i prostotę Pand w zakresie manipulacji danymi. Stosując indeksowanie boolowskie – metodę, w której przekazujemy serię wartości prawda/fałsz do filtrowania danych, możemy skutecznie wybierać podzbiory danych na podstawie różnych warunków, co czyni je nieocenionym narzędziem dla analityków danych i naukowców.

Filtrowanie wierszy w ramce danych na podstawie wartości kolumn

Python — używanie Pand do operacji na ramkach danych

import pandas as pd
# Create a sample DataFrame
data = {
    'name': ['Alice', 'Bob', 'Charlie', 'David', 'Edward'],
    'age': [24, 27, 22, 32, 29],
    'city': ['New York', 'Los Angeles', 'New York', 'Chicago', 'Los Angeles']
}
df = pd.DataFrame(data)

# Select rows where city is New York
ny_rows = df[df['city'] == 'New York']
print(ny_rows)

# Output:
#       name  age      city
# 0    Alice   24  New York
# 2  Charlie   22  New York

Wysyłanie zapytań do wierszy DataFrame na podstawie wartości kolumn

Python — zaawansowane filtrowanie za pomocą Pand

import pandas as pd

# Create a sample DataFrame
data = {
    'product': ['A', 'B', 'C', 'D'],
    'price': [100, 150, 200, 250],
    'quantity': [30, 50, 20, 40]
}
df = pd.DataFrame(data)

# Select rows where price is greater than 150
expensive_products = df[df['price'] > 150]
print(expensive_products)

# Output:
#   product  price  quantity
# 2       C    200        20
# 3       D    250        40

Zaawansowane techniki wybierania wierszy ramki danych

Oprócz podstawowego filtrowania za pomocą indeksowania logicznego, Pandas oferuje bardziej zaawansowane techniki wybierania wierszy na podstawie wartości kolumn. Jedną z takich metod jest funkcja, która pozwala na użycie składni podobnej do SQL do filtrowania wierszy DataFrame. Możesz na przykład użyć aby wybrać wiersze, w których wiek jest większy niż 25 lat, a miastem jest Nowy Jork. Ta metoda może sprawić, że Twój kod będzie bardziej czytelny, szczególnie w przypadku złożonych warunków. Dodatkowo Pandas zapewnia I iloc[] akcesoria umożliwiające bardziej precyzyjny wybór wierszy. The Metoda dostępu jest oparta na etykietach, co oznacza, że ​​możesz filtrować wiersze według ich etykiet lub tablicy logicznej. Dla kontrastu, Metoda dostępu jest oparta na pozycjach liczb całkowitych, co pozwala filtrować wiersze według ich pozycji indeksu.

Kolejną potężną funkcją Pand jest możliwość filtrowania wierszy DataFrame za pomocą metoda. Ta metoda jest przydatna, gdy trzeba filtrować wiersze na podstawie listy wartości. Na przykład, wybiera wiersze, w których wartość w kolumnie miasto to Nowy Jork lub Los Angeles. Co więcej, możesz łączyć wiele warunków za pomocą I | operatorów do tworzenia bardziej złożonych filtrów. Na przykład, filtruje wiersze, w których wiek jest większy niż 25 lat, a miastem jest Nowy Jork. Te zaawansowane techniki zapewniają solidną platformę do filtrowania danych, dzięki czemu Pandy są wszechstronnym narzędziem do analizy i manipulacji danymi.

  1. Jak filtrować wiersze w ramce danych na podstawie wartości wielu kolumn?
  2. Możesz użyć indeksowania logicznego z wieloma warunkami połączonymi za pomocą I . Na przykład: .
  3. Jaka jest różnica pomiędzy I ?
  4. opiera się na etykietach, podczas gdy jest liczbą całkowitą, bazującą na pozycji. Używać do filtrowania według etykiet i iloc[] do filtrowania według pozycji indeksu.
  5. Jak mogę skorzystać z funkcja do filtrowania wierszy DataFrame?
  6. The Funkcja pozwala na użycie składni podobnej do SQL. Na przykład: .
  7. Czy mogę filtrować wiersze na podstawie listy wartości?
  8. Tak, możesz skorzystać z metoda. Na przykład: .
  9. Jaki jest najlepszy sposób filtrowania wierszy na podstawie dopasowania ciągów?
  10. Możesz skorzystać z metoda. Na przykład: .
  11. Jak wybrać wiersze, w których brakuje wartości kolumn?
  12. Możesz skorzystać z metoda. Na przykład: .
  13. Jak mogę filtrować wiersze za pomocą funkcji niestandardowej?
  14. Możesz skorzystać z metoda z funkcją lambda. Na przykład: .
  15. Czy mogę filtrować wiersze na podstawie wartości indeksu?
  16. Tak, możesz skorzystać z metoda. Na przykład: .

Wybieranie wierszy z ramki DataFrame na podstawie wartości kolumn to podstawowa umiejętność analizy danych za pomocą Pand. Wykorzystując indeksowanie boolowskie, , , , I isin() metody pozwalają na efektywne filtrowanie danych. Opanowanie tych technik zwiększa Twoją zdolność do skutecznego manipulowania i analizowania zbiorów danych.