Pandas izmantošana datu rāmju filtrēšanai pēc kolonnu vērtībām
Strādājot ar datiem programmā Python, Pandas bibliotēka piedāvā jaudīgus rīkus datu manipulēšanai un analīzei. Viens izplatīts uzdevums ir rindu atlase no DataFrame, pamatojoties uz vērtībām noteiktā kolonnā. Šī darbība ir līdzīga SQL vaicājumam: SELECT * FROM tabula WHERE kolonnas_nosaukums = some_value.
Šajā rakstā mēs izpētīsim, kā to panākt Pandās, izmantojot dažādas metodes. Neatkarīgi no tā, vai filtrējat pēc vienas vērtības vai vairākiem kritērijiem, Pandas nodrošina intuitīvus un efektīvus veidus, kā rīkoties ar šādām darbībām. Iedziļināsimies detaļās.
Pavēli | Apraksts |
---|---|
pd.DataFrame() | Izveido DataFrame objektu no vārdnīcas vai citām datu struktūrām. |
df[condition] | Filtrē DataFrame rindas, pamatojoties uz nosacījumu, atgriežot tikai tās, kas atbilst kritērijiem. |
print() | Izvada norādīto ziņojumu vai DataFrame konsolei. |
df['column'] == value | Izveido Būla sēriju, ko izmanto, lai filtrētu rindas, kurās kolonna atbilst norādītajai vērtībai. |
df['column'] >df['column'] > value | Izveido Būla sēriju, ko izmanto, lai filtrētu rindas, kurās kolonnu vērtības ir lielākas par norādīto vērtību. |
# Comment | Izmanto, lai kodā pievienotu paskaidrojumus vai piezīmes, kas netiek izpildītas kā daļa no skripta. |
DataFrame rindu atlases ieviešana programmā Pandas
Piedāvātajos skriptos galvenais uzdevums ir filtrēt rindas no DataFrame, pamatojoties uz konkrētām kolonnu vērtībām, kas ir izplatīta prasība datu analīzē. Pirmais skripts sākas, importējot Pandas bibliotēku ar . Tas ir būtiski, jo Pandas ir jaudīga Python datu manipulācijas bibliotēka. Tālāk mēs izveidojam DataFrame paraugu, izmantojot ar vārdnīcu, kurā ir dati par vārdiem, vecumiem un pilsētām. Šī struktūra ļauj mums viegli vizualizēt un manipulēt ar tabulas datiem. Izšķirošā skripta daļa ir vieta, kur mēs filtrējam rindas . Šī komanda atlasa visas rindas, kurās pilsētas kolonnas vērtība ir "Ņujorka". Rezultāts tiek saglabāts mainīgajā ny_rows, kas pēc tam tiek izdrukāts, lai parādītu filtrēto DataFrame.
Otrais skripts seko līdzīgai struktūrai, bet koncentrējas uz rindu filtrēšanu, pamatojoties uz skaitlisku nosacījumu. Pēc Pandas importēšanas un DataFrame izveides ar produkta, cenas un daudzuma kolonnām skripts izmanto lai filtrētu rindas, kurās cena ir lielāka par 150. Šī komanda izveido sākotnējā DataFrame apakškopu, kurā ir tikai tās rindas, kas atbilst norādītajam nosacījumam. Rezultāts tiek saglabāts un izdrukāts pārbaudei. Abi skripti demonstrē Pandas jaudu un vienkāršību datu manipulēšanai. Izmantojot Būla indeksēšanu — metodi, kurā mēs nododam patiesu/nepatiesu vērtību sēriju, lai filtrētu datus, mēs varam efektīvi atlasīt datu apakškopas, pamatojoties uz dažādiem nosacījumiem, padarot to par nenovērtējamu rīku datu analītiķiem un zinātniekiem.
Rindu filtrēšana datu rāmī, pamatojoties uz kolonnu vērtībām
Python — Pandas izmantošana DataFrame operācijām
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
DataFrame rindu vaicājumi, pamatojoties uz kolonnu vērtībām
Python — uzlabota filtrēšana ar pandām
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
Uzlabotas metodes DataFrame rindu atlasei
Papildus pamata filtrēšanai ar Būla indeksēšanu, Pandas piedāvā uzlabotas metodes rindu atlasei, pamatojoties uz kolonnu vērtībām. Viena no šādām metodēm ir funkcija, kas ļauj izmantot SQL līdzīgu sintaksi, lai filtrētu DataFrame rindas. Piemēram, jūs varat izmantot lai atlasītu rindas, kurās vecums ir lielāks par 25 gadiem un pilsēta ir Ņujorka. Šī metode var padarīt jūsu kodu lasāmāku, īpaši sarežģītos apstākļos. Turklāt Pandas nodrošina un iloc[] piederumi precīzākai rindu izvēlei. The Accessor ir balstīts uz etiķetēm, kas nozīmē, ka varat filtrēt rindas pēc to etiķetēm vai Būla masīva. Turpretim, Piekļuvējs ir balstīts uz veselu skaitļu pozīciju, ļaujot filtrēt rindas pēc to indeksa pozīcijām.
Vēl viena jaudīga Pandas funkcija ir iespēja filtrēt DataFrame rindas, izmantojot metodi. Šī metode ir noderīga, ja jāfiltrē rindas, pamatojoties uz vērtību sarakstu. Piemēram, atlasa rindas, kurās pilsētas kolonnas vērtība ir Ņujorka vai Losandželosa. Turklāt jūs varat ķēdīt vairākus nosacījumus, izmantojot un | operatoriem, lai izveidotu sarežģītākus filtrus. Piemēram, filtrē rindas, kurās vecums ir lielāks par 25 gadiem un pilsēta ir Ņujorka. Šīs uzlabotās metodes nodrošina stabilu datu filtrēšanas sistēmu, padarot Pandas par daudzpusīgu rīku datu analīzei un manipulācijām.
- Kā filtrēt rindas DataFrame, pamatojoties uz vairākām kolonnu vērtībām?
- Varat izmantot Būla indeksēšanu, apvienojot vairākus nosacījumus, izmantojot un . Piemēram: .
- Kāda ir atšķirība starp un ?
- ir uz etiķetes balstīta, bet ir balstīta uz veselu skaitļu pozīciju. Izmantot filtrēšanai pēc etiķetēm un iloc[] filtrēšanai pēc indeksa pozīcijām.
- Kā es varu izmantot funkcija DataFrame rindu filtrēšanai?
- The funkcija ļauj izmantot SQL līdzīgu sintaksi. Piemēram: .
- Vai es varu filtrēt rindas, pamatojoties uz vērtību sarakstu?
- Jā, jūs varat izmantot metodi. Piemēram: .
- Kāds ir labākais veids, kā filtrēt rindas, pamatojoties uz virkņu atbilstību?
- Jūs varat izmantot metodi. Piemēram: .
- Kā atlasīt rindas, kurās trūkst kolonnu vērtību?
- Jūs varat izmantot metodi. Piemēram: .
- Kā es varu filtrēt rindas, izmantojot pielāgotu funkciju?
- Jūs varat izmantot metode ar lambda funkciju. Piemēram: .
- Vai es varu filtrēt rindas, pamatojoties uz indeksa vērtībām?
- Jā, jūs varat izmantot metodi. Piemēram: .
Rindu atlase no DataFrame, pamatojoties uz kolonnu vērtībām, ir pamatprasme datu analīzē ar Pandas. Būla indeksēšanas izmantošana, , , , un isin() metodes ļauj efektīvi filtrēt datus. Šo metožu apgūšana uzlabo jūsu spēju efektīvi manipulēt un analizēt datu kopas.