Filtrarea rândurilor în Pandas DataFrames
Pandas este o bibliotecă puternică în Python pentru manipularea și analiza datelor. O sarcină obișnuită este selectarea rândurilor dintr-un cadru de date pe baza valorilor coloanei, similar cu tabelul SQL SELECT * FROM WHERE nume_coloană = some_value.
Acest ghid vă va ghida prin diferite metode pentru a realiza acest lucru în Pandas, ușurând filtrarea eficientă a datelor. Indiferent dacă sunteți un începător sau un utilizator experimentat, aceste sfaturi vă vor îmbunătăți abilitățile de manipulare a datelor.
| Comanda | Descriere |
|---|---|
| pd.DataFrame(data) | Creează un DataFrame dintr-un dicționar de date. |
| df[column_name] | Accesează o coloană din DataFrame după nume. |
| df[condition] | Filtrează DataFrame pe baza unei condiții aplicate unei coloane. |
| print(selected_rows) | Imprimă DataFrame sau un subset al acestuia pe consolă. |
| df[df['Age'] >df[df['Age'] > 25] | Selectează rândurile în care valorile coloanei „Vârstă” sunt mai mari de 25. |
| df[df['City'] == 'Chicago'] | Selectează rândurile în care valorile coloanei „Oraș” sunt egale cu „Chicago”. |
Înțelegerea selecției rândurilor DataFrame în Pandas
Scripturile furnizate demonstrează cum să selectați rânduri dintr-un DataFrame pe baza valorilor coloanei folosind biblioteca Pandas în Python. Primul script începe prin importul bibliotecii Pandas cu comanda. Apoi creează un eșantion DataFrame folosind un dicționar de date, care este convertit într-un DataFrame cu comanda. Scriptul ilustrează apoi două metode de selectare a rândurilor: selectarea rândurilor în care valoarea coloanei „Vârsta” este mai mare de 25 folosind , și selectând rândurile în care valoarea coloanei „Oraș” este „Chicago”. df[df['City'] == 'Chicago']. Aceste DataFrames filtrate sunt tipărite folosind funcția de afișare a rândurilor selectate.
Al doilea script urmează o structură similară, dar utilizează date și criterii de selecție diferite. Acesta creează un DataFrame cu informații despre produs, inclusiv coloanele „Produs”, „Preț” și „Stoc”. Sunt selectate rânduri unde „Prețul” este mai mic sau egal cu 200 cu
Tehnici avansate pentru selectarea rândurilor DataFrame în Pandas
Pe lângă filtrarea de bază folosind indexarea booleană, Pandas oferă tehnici avansate de selectare a rândurilor pe baza valorilor coloanelor. O metodă puternică este utilizarea funcția, care vă permite să filtrați rândurile cu o expresie de interogare, făcând sintaxa mai curată și adesea mai intuitivă. De exemplu, în loc să utilizați , poti sa scrii . Această metodă este deosebit de utilă atunci când se ocupă de condiții mai complexe sau când numele coloanelor conțin spații. În plus, cel isin() funcția este benefică atunci când doriți să filtrați rândurile pe baza unei liste de valori. De exemplu, pentru a selecta rânduri în care valoarea coloanei „Oraș” este fie „Chicago”, fie „New York”, puteți utiliza .
O altă tehnică implică și indexatori. The indexerul se bazează pe etichete, permițându-vă să selectați rânduri pe baza etichetelor rândurilor și a numelor coloanelor, în timp ce iloc se bazează pe locații întregi, permițând selecția după numere de rând și coloane. Această flexibilitate este deosebit de utilă pentru selectarea rândurilor pe baza unei condiții aplicate unei coloane diferite. De exemplu, va returna numele persoanelor cu vârsta mai mare de 25 de ani. Aceste metode vă extind setul de instrumente pentru manipularea și analizarea eficientă a datelor în Pandas, oferind cod mai ușor de citit și de întreținut.
- Cum pot selecta rânduri pe baza mai multor condiții?
- Puteți folosi funcţionează sau combina condiţii cu operatori logici precum și . De exemplu, df[(df['Age'] > 25) & (df['City'] == 'Chicago')].
- Pot filtra rândurile pe baza unei liste de valori?
- Da, folosește funcţie. De exemplu, .
- Care e diferenta dintre și ?
- se bazează pe etichete, în timp ce este bazat pe locație întreg. Utilizare cu etichete de rând/coloană și iloc cu indici de rând/coloană.
- Cum pot selecta anumite coloane în timp ce filtrez rândurile?
- Poți să folosești . De exemplu, .
- Cum gestionez valorile lipsă atunci când selectez rânduri?
- Folosește funcție pentru a elimina rândurile cu valori lipsă sau pentru a le înlocui cu o valoare specificată.
- Pot folosi expresii regulate pentru a filtra rândurile?
- Da cel funcţionează cu parametrul vă permite să filtrați rândurile pe baza modelelor regex. De exemplu, .
- Cum filtrez rândurile pe baza indexului?
- Poți să folosești cu numele de index. De exemplu, .
- Ce se întâmplă dacă numele coloanelor mele conțin spații sau caractere speciale?
- Folosește funcție care poate gestiona astfel de nume de coloane cu backtick-uri. De exemplu, .
Considerări finale despre tehnicile de selecție a rândurilor DataFrame
Selectarea rândurilor dintr-un DataFrame pe baza valorilor coloanelor din Pandas este o abilitate crucială pentru manipularea datelor. Diferitele metode discutate, inclusiv indexarea booleană, , , și indexarea bazată pe etichete și pe bază de locații întregi cu și iloc, oferă instrumente puternice pentru filtrarea eficientă a datelor. Stăpânirea acestor tehnici permite o mai bună analiză a datelor și un cod mai curat și mai ușor de întreținut.