Odabir redaka DataFramea na temelju vrijednosti stupaca u Pythonu

Python

Korištenje Panda za filtriranje podatkovnih okvira prema vrijednostima stupaca

Kada radite s podacima u Pythonu, biblioteka Pandas nudi moćne alate za manipulaciju i analizu podataka. Jedan uobičajeni zadatak je odabir redaka iz DataFramea na temelju vrijednosti u određenom stupcu. Ova je operacija slična SQL upitu: SELECT * FROM tablice WHERE column_name = some_value.

U ovom članku ćemo istražiti kako to postići u Pandas koristeći različite metode. Bilo da filtrirate prema jednoj vrijednosti ili više kriterija, Pandas pruža intuitivne i učinkovite načine za rukovanje takvim operacijama. Uronimo u detalje.

Naredba Opis
pd.DataFrame() Stvara DataFrame objekt iz rječnika ili drugih podatkovnih struktura.
df[condition] Filtrira retke DataFramea na temelju uvjeta, vraćajući samo one koji zadovoljavaju kriterije.
print() Ispisuje navedenu poruku ili DataFrame na konzolu.
df['column'] == value Stvara Booleov niz koji se koristi za filtriranje redaka u kojima stupac odgovara navedenoj vrijednosti.
df['column'] >df['column'] > value Stvara Booleov niz koji se koristi za filtriranje redaka u kojima su vrijednosti stupca veće od navedene vrijednosti.
# Comment Koristi se za dodavanje objašnjenja ili bilješki unutar koda, koje se ne izvode kao dio skripte.

Implementacija odabira reda DataFrame u Pandas

U ponuđenim skriptama ključni zadatak je filtriranje redaka iz DataFramea na temelju specifičnih vrijednosti stupaca, što je uobičajeni zahtjev u analizi podataka. Prva skripta počinje uvozom biblioteke Pandas s . Ovo je bitno jer je Pandas moćna biblioteka za manipulaciju podacima u Pythonu. Zatim stvaramo ogledni DataFrame pomoću s rječnikom koji sadrži podatke za imena, godine i gradove. Ova nam struktura omogućuje jednostavnu vizualizaciju i manipuliranje tabličnim podacima. Ključni dio skripte je mjesto gdje filtriramo retke pomoću . Ova naredba odabire sve retke u kojima je vrijednost stupca grada 'New York'. Rezultat je pohranjen u varijabli ny_rows, koji se zatim ispisuje za prikaz filtriranog DataFramea.

Druga skripta slijedi sličnu strukturu, ali se fokusira na filtriranje redaka na temelju numeričkog uvjeta. Nakon uvoza Panda i stvaranja DataFramea sa stupcima proizvoda, cijene i količine, skripta koristi za filtriranje redaka gdje je cijena veća od 150. Ova naredba proizvodi podskup izvornog DataFramea koji sadrži samo retke koji ispunjavaju navedeni uvjet. Rezultat je pohranjen u i ispisan radi provjere. Obje skripte pokazuju snagu i jednostavnost Panda za manipulaciju podacima. Korištenjem Booleovog indeksiranja, metode u kojoj prosljeđujemo niz istinitih/netočnih vrijednosti za filtriranje podataka, možemo učinkovito odabrati podskupove podataka na temelju različitih uvjeta, što ga čini neprocjenjivim alatom za analitičare podataka i znanstvenike.

Filtriranje redaka u DataFrameu na temelju vrijednosti stupaca

Python - korištenje Panda za DataFrame operacije

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

Upit za retke DataFramea na temelju vrijednosti stupaca

Python - Napredno filtriranje s Pandas

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

Napredne tehnike za odabir redaka DataFrame

Uz osnovno filtriranje s Booleovim indeksiranjem, Pandas nudi naprednije tehnike za odabir redaka na temelju vrijednosti stupaca. Jedna takva metoda je koja vam omogućuje korištenje sintakse slične SQL-u za filtriranje redaka DataFrame. Na primjer, možete koristiti za odabir redaka u kojima je dob veća od 25 godina, a grad je New York. Ova metoda može vaš kod učiniti čitljivijim, posebno za složene uvjete. Osim toga, Pandas pruža i iloc[] pristupnici za precizniji odabir redaka. The pristupnik se temelji na oznakama, što znači da možete filtrirati retke prema njihovim oznakama ili booleovom nizu. Nasuprot tome, pristupnik se temelji na cjelobrojnom položaju, što vam omogućuje filtriranje redaka prema njihovim indeksnim pozicijama.

Još jedna moćna značajka u Pandasu je mogućnost filtriranja DataFrame redaka pomoću metoda. Ova je metoda korisna kada trebate filtrirati retke na temelju popisa vrijednosti. Na primjer, odabire retke u kojima je vrijednost stupca grada New York ili Los Angeles. Nadalje, možete ulančati više uvjeta pomoću i | operatore za stvaranje složenijih filtara. Na primjer, filtrira retke u kojima je dob veća od 25 godina, a grad je New York. Ove napredne tehnike pružaju robustan okvir za filtriranje podataka, čineći Pandu svestranim alatom za analizu podataka i manipulaciju.

  1. Kako mogu filtrirati retke u DataFrameu na temelju više vrijednosti stupaca?
  2. Možete koristiti Booleovo indeksiranje s višestrukim uvjetima u kombinaciji koristeći i . Na primjer: .
  3. Koja je razlika između i ?
  4. temelji se na oznakama, dok temelji se na cjelobrojnom položaju. Koristiti za filtriranje po oznakama i iloc[] za filtriranje prema pozicijama indeksa.
  5. Kako mogu koristiti funkciju za filtriranje redaka DataFrame?
  6. The omogućuje vam korištenje sintakse slične SQL-u. Na primjer: .
  7. Mogu li filtrirati retke na temelju popisa vrijednosti?
  8. Da, možete koristiti metoda. Na primjer: .
  9. Koji je najbolji način za filtriranje redaka na temelju podudaranja nizova?
  10. Možete koristiti metoda. Na primjer: .
  11. Kako mogu odabrati retke u kojima nedostaju vrijednosti stupaca?
  12. Možete koristiti metoda. Na primjer: .
  13. Kako mogu filtrirati retke pomoću prilagođene funkcije?
  14. Možete koristiti metoda s lambda funkcijom. Na primjer: .
  15. Mogu li filtrirati retke na temelju vrijednosti indeksa?
  16. Da, možete koristiti metoda. Na primjer: .

Odabir redaka iz DataFramea na temelju vrijednosti stupaca temeljna je vještina u analizi podataka s Pandasom. Koristeći Booleovo indeksiranje, , , , i isin() omogućuje učinkovito filtriranje podataka. Ovladavanje ovim tehnikama poboljšava vašu sposobnost učinkovite manipulacije i analize skupova podataka.