Rindu filtrēšana programmā Pandas DataFrames
Pandas ir jaudīga Python bibliotēka datu manipulēšanai un analīzei. Izplatīts uzdevums ir rindu atlase no DataFrame, pamatojoties uz kolonnu vērtībām, līdzīgi kā SQL tabulā SELECT * FROM WHERE kolonnas_nosaukums = some_value.
Šajā rokasgrāmatā ir aprakstītas dažādas metodes, kā to sasniegt Pandas, padarot to viegli efektīvu datu filtrēšanu. Neatkarīgi no tā, vai esat iesācējs vai pieredzējis lietotājs, šie padomi uzlabos jūsu datu apstrādes prasmes.
Pavēli | Apraksts |
---|---|
pd.DataFrame(data) | Izveido DataFrame no datu vārdnīcas. |
df[column_name] | Piekļūst kolonnai DataFrame pēc nosaukuma. |
df[condition] | Filtrē DataFrame, pamatojoties uz kolonnai piemēroto nosacījumu. |
print(selected_rows) | Konsolē izdrukā DataFrame vai tā apakškopu. |
df[df['Age'] >df[df['Age'] > 25] | Atlasa rindas, kurās slejas “Vecums” vērtības ir lielākas par 25. |
df[df['City'] == 'Chicago'] | Atlasa rindas, kurās kolonnas "Pilsēta" vērtības ir vienādas ar "Čikāga". |
Izpratne par DataFrame rindu atlasi programmā Pandas
Piedāvātie skripti parāda, kā atlasīt rindas no DataFrame, pamatojoties uz kolonnu vērtībām, izmantojot Python bibliotēku Pandas. Pirmais skripts sākas, importējot Pandas bibliotēku ar komandu. Pēc tam, izmantojot datu vārdnīcu, tiek izveidots DataFrame paraugs, kas tiek pārveidots par DataFrame ar komandu. Pēc tam skripts ilustrē divas rindu atlases metodes: rindu atlase, kurās slejas "Vecums" vērtība ir lielāka par 25, izmantojot , un atlasot rindas, kurās slejas "Pilsēta" vērtība ir "Čikāga", izmantojot df[df['City'] == 'Chicago']. Šie filtrētie datu rāmji tiek drukāti, izmantojot funkciju, lai parādītu atlasītās rindas.
Otrajam skriptam ir līdzīga struktūra, taču tiek izmantoti dažādi dati un atlases kritēriji. Tas izveido DataFrame ar informāciju par produktu, tostarp slejām “Produkts”, “Cena” un “Krājums”. Tiek atlasītas rindas, kurās cena ir mazāka vai vienāda ar 200 ar
Uzlabotas metodes DataFrame rindu atlasei programmā Pandas
Papildus pamata filtrēšanai, izmantojot Būla indeksēšanu, Pandas piedāvā uzlabotas metodes rindu atlasei, pamatojoties uz kolonnu vērtībām. Viena spēcīga metode ir izmantot funkcija, kas ļauj filtrēt rindas ar vaicājuma izteiksmi, padarot sintaksi tīrāku un bieži vien intuitīvāku. Piemēram, tā vietā, lai izmantotu , jūs varat rakstīt . Šī metode ir īpaši noderīga, strādājot ar sarežģītākiem nosacījumiem vai ja kolonnu nosaukumos ir atstarpes. Turklāt, isin() funkcija ir noderīga, ja vēlaties filtrēt rindas, pamatojoties uz vērtību sarakstu. Piemēram, lai atlasītu rindas, kurās kolonnas “Pilsēta” vērtība ir “Čikāga” vai “Ņujorka”, varat izmantot .
Vēl viena tehnika ietver un indeksētāji. The indeksētājs ir balstīts uz etiķetēm, ļaujot atlasīt rindas, pamatojoties uz rindu etiķetēm un kolonnu nosaukumiem iloc ir balstīta uz veselu skaitļu atrašanās vietu, ļaujot atlasīt pēc rindu un kolonnu numuriem. Šī elastība ir īpaši noderīga, lai atlasītu rindas, pamatojoties uz nosacījumu, kas piemērots citai kolonnai. Piemēram, atgriezīs to personu vārdus, kuras ir vecākas par 25 gadiem. Šīs metodes paplašina jūsu rīku komplektu efektīvai datu apstrādei un analīzei programmā Pandas, piedāvājot lasāmāku un apkopējamāku kodu.
- Kā es varu atlasīt rindas, pamatojoties uz vairākiem nosacījumiem?
- Jūs varat izmantot funkciju vai kombinēt nosacījumus ar tādiem loģiskiem operatoriem kā un . Piemēram, df[(df['Age'] > 25) & (df['City'] == 'Chicago')].
- Vai es varu filtrēt rindas, pamatojoties uz vērtību sarakstu?
- Jā, izmantojiet funkciju. Piemēram, .
- Kāda ir atšķirība starp un ?
- ir uz etiķetes balstīta, bet ir balstīta uz veselu skaitļu atrašanās vietu. Izmantot ar rindu/kolonnu etiķetēm un iloc ar rindu/kolonnu indeksiem.
- Kā rindu filtrēšanas laikā var atlasīt noteiktas kolonnas?
- Tu vari izmantot . Piemēram, .
- Kā rīkoties ar trūkstošajām vērtībām, atlasot rindas?
- Izmantojiet funkciju, lai noņemtu rindas ar trūkstošām vērtībām, vai lai tos aizstātu ar noteiktu vērtību.
- Vai varu izmantot regulārās izteiksmes, lai filtrētu rindas?
- Jā, funkcija ar parametrs ļauj filtrēt rindas, pamatojoties uz regulārās izteiksmes modeļiem. Piemēram, .
- Kā filtrēt rindas, pamatojoties uz indeksu?
- Tu vari izmantot ar indeksa nosaukumu. Piemēram, .
- Ko darīt, ja kolonnu nosaukumos ir atstarpes vai speciālās rakstzīmes?
- Izmantojiet funkcija, kas var apstrādāt šādus kolonnu nosaukumus ar atzīmes. Piemēram, .
Pēdējās domas par DataFrame rindu atlases metodēm
Rindu atlase no DataFrame, pamatojoties uz Pandas kolonnu vērtībām, ir būtiska datu manipulācijas prasme. Dažādās apspriestās metodes, tostarp Būla indeksēšana, , , un uz etiķetēm balstīta un uz veseliem skaitļiem balstīta indeksācija ar un iloc, nodrošina jaudīgus rīkus datu efektīvai filtrēšanai. Šo metožu pārzināšana nodrošina labāku datu analīzi un tīrāku, labāk uzturējamu kodu.