Selectarea rândurilor DataFrame pe baza valorilor coloanelor în Python

Python

Utilizarea Pandas pentru a filtra DataFrames după valorile coloanelor

Când lucrați cu date în Python, biblioteca Pandas oferă instrumente puternice pentru manipularea și analiza datelor. O sarcină comună este selectarea rândurilor dintr-un DataFrame pe baza valorilor dintr-o anumită coloană. Această operație este asemănătoare cu interogarea SQL: SELECT * FROM tabelul WHERE nume_coloană = o anumită valoare.

În acest articol, vom explora cum să obținem acest lucru în Pandas folosind diferite metode. Indiferent dacă filtrați după o singură valoare sau după mai multe criterii, Pandas oferă modalități intuitive și eficiente de a gestiona astfel de operațiuni. Să ne afundăm în detalii.

Comanda Descriere
pd.DataFrame() Creează un obiect DataFrame dintr-un dicționar sau din alte structuri de date.
df[condition] Filtrează rândurile DataFrame în funcție de o condiție, returnând numai cele care îndeplinesc criteriile.
print() Emite mesajul specificat sau DataFrame la consolă.
df['column'] == value Creează o serie booleană folosită pentru a filtra rândurile în care coloana se potrivește cu valoarea specificată.
df['column'] >df['column'] > value Creează o serie booleană utilizată pentru a filtra rândurile în care valorile coloanei sunt mai mari decât valoarea specificată.
# Comment Folosit pentru a adăuga explicații sau note în cod, care nu sunt executate ca parte a scriptului.

Implementarea selecției rândurilor DataFrame în Pandas

În scripturile furnizate, sarcina cheie este de a filtra rândurile dintr-un DataFrame pe baza unor valori specifice de coloană, o cerință comună în analiza datelor. Primul script începe prin importul bibliotecii Pandas cu . Acest lucru este esențial deoarece Pandas este o bibliotecă puternică de manipulare a datelor în Python. Apoi, creăm un exemplu de DataFrame folosind cu un dicționar care conține date pentru nume, vârste și orașe. Această structură ne permite să vizualizăm și să manipulăm cu ușurință datele tabulare. Partea crucială a scriptului este aceea în care filtrem rândurile folosind . Această comandă selectează toate rândurile în care valoarea coloanei orașului este „New York”. Rezultatul este stocat în variabilă ny_rows, care este apoi tipărit pentru a afișa DataFrame filtrat.

Al doilea script urmează o structură similară, dar se concentrează pe filtrarea rândurilor pe baza unei condiții numerice. După importarea Pandas și crearea unui DataFrame cu coloane produs, preț și cantitate, scriptul folosește pentru a filtra rândurile în care prețul este mai mare de 150. Această comandă produce un subset al DataFrame-ului original care conține doar rândurile care îndeplinesc condiția specificată. Rezultatul este stocat în și tipărit pentru verificare. Ambele scripturi demonstrează puterea și simplitatea Pandas pentru manipularea datelor. Folosind indexarea booleană, o metodă prin care trecem o serie de valori adevărate/false pentru a filtra datele, putem selecta eficient subseturi de date pe baza diferitelor condiții, făcându-l un instrument de neprețuit pentru analiștii de date și oamenii de știință.

Filtrarea rândurilor într-un cadru de date pe baza valorilor coloanelor

Python - Utilizarea Pandas pentru operațiunile DataFrame

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

Interogarea rândurilor DataFrame pe baza valorilor coloanelor

Python - Filtrare avansată cu 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

Tehnici avansate pentru selectarea rândurilor DataFrame

Pe lângă filtrarea de bază cu indexare booleană, Pandas oferă tehnici mai avansate de selectare a rândurilor pe baza valorilor coloanelor. O astfel de metodă este funcția, care vă permite să utilizați sintaxă asemănătoare SQL pentru a filtra rândurile DataFrame. De exemplu, puteți utiliza pentru a selecta rânduri în care vârsta este mai mare de 25 de ani și orașul este New York. Această metodă vă poate face codul mai lizibil, mai ales în condiții complexe. În plus, Pandas oferă și iloc[] accesorii pentru o selecție mai precisă a rândurilor. The Accesorul se bazează pe etichete, ceea ce înseamnă că puteți filtra rândurile după etichetele lor sau după o matrice booleană. În contrast, cel Accesorul se bazează pe poziții întregi, permițându-vă să filtrați rândurile după pozițiile lor de index.

O altă caracteristică puternică a Pandas este capacitatea de a filtra rândurile DataFrame folosind metodă. Această metodă este utilă atunci când trebuie să filtrați rândurile pe baza unei liste de valori. De exemplu, selectează rândurile în care valoarea coloanei orașului este fie New York, fie Los Angeles. În plus, puteți înlănțui mai multe condiții folosind și | operatori pentru a crea filtre mai complexe. De exemplu, filtrează rândurile în care vârsta este mai mare de 25 de ani și orașul este New York. Aceste tehnici avansate oferă un cadru robust pentru filtrarea datelor, făcând Pandas un instrument versatil pentru analiza și manipularea datelor.

  1. Cum filtrez rândurile dintr-un DataFrame pe baza mai multor valori de coloană?
  2. Puteți utiliza indexarea booleană cu mai multe condiții combinate folosind și . De exemplu: .
  3. Care e diferenta dintre și ?
  4. se bazează pe etichete, în timp ce este bazat pe poziție întreg. Utilizare pentru filtrarea după etichete și iloc[] pentru filtrarea după pozițiile de index.
  5. Cum pot folosi funcția de filtrare a rândurilor DataFrame?
  6. The funcția vă permite să utilizați sintaxa asemănătoare SQL. De exemplu: .
  7. Pot filtra rândurile pe baza unei liste de valori?
  8. Da, puteți folosi metodă. De exemplu: .
  9. Care este cel mai bun mod de a filtra rândurile pe baza potrivirii șirurilor?
  10. Puteți folosi metodă. De exemplu: .
  11. Cum selectez rândurile în care lipsesc valorile coloanelor?
  12. Puteți folosi metodă. De exemplu: .
  13. Cum pot filtra rândurile folosind o funcție personalizată?
  14. Puteți folosi metoda cu o funcție lambda. De exemplu: .
  15. Pot filtra rândurile pe baza valorilor indexului?
  16. Da, puteți folosi metodă. De exemplu: .

Selectarea rândurilor dintr-un DataFrame pe baza valorilor coloanei este o abilitate fundamentală în analiza datelor cu Pandas. Folosind indexarea booleană, , , , și isin() metodele permit filtrarea eficientă a datelor. Stăpânirea acestor tehnici vă îmbunătățește capacitatea de a manipula și analiza în mod eficient seturile de date.