Ved hjelp av "filter ()" kan vi filtrere en dataaframe basert på indekser. Med denne teknikken vil DataFrames rader eller kolonner være en delmengde av den originale DataFrame i henhold til de spesifiserte etikettene i den gitte indeksen.
Det er forskjellige metoder for å filtrere radene til DataFrame basert på deres indeks. Men i denne opplæringen er hovedfokuset vårt Filter () -funksjonen. La oss sjekke syntaksen først slik at vi kan bruke den til å filtrere dataene. Metoden returnerer et objekt av samme type som den som brukes som input.
Syntaks:
DataFrame_Object.filter (elementer = ingen, som = ingen, regex = ingen, akse = ingen)
Parametere:
Siden vi har sett syntaksen, demonstrerer vi filter () -funksjonen i følgende eksempler:
Eksempel 1: Filter etter numerisk indeks
Lag dateframe med 2 kolonner som inneholder 5 poster og returner bare de spesielle radene basert på indeks.
Importer pandaer
Hobbyer = Pandas.DataFrame ('Stud_name': ['Stud 1', 'Stud 2', 'Stud 3', 'Stud 4', 'Stud 5'],
'Hobbyer': ['Music', 'Singing', 'Dance', 'Play', 'Drink'])
trykk (hobbyer)
skrive ut()
# Få bare første rad
trykk (hobbyer.filter ([0], akse = 0))
skrive ut()
# Få bare femte rad
trykk (hobbyer.filter ([4], akse = 0))
Produksjon:
Stud_name hobbyer
0 Stud 1 Musikk
1 stud 2 sang
2 stud 3 dans
3 Stud 4 Play
4 Stud 5 Drink
Stud_name hobbyer
0 Stud 1 Musikk
Stud_name hobbyer
4 Stud 5 Drink
Forklaring:
Eksempel 2: Filter med flere numeriske indekser
Lag dateframe med 2 kolonner som inneholder 5 poster og returner bare de spesielle radene basert på indeksen om gangen.
Importer pandaer
Hobbyer = Pandas.DataFrame ('Stud_name': ['Stud 1', 'Stud 2', 'Stud 3', 'Stud 4', 'Stud 5'],
'Hobbyer': ['Music', 'Singing', 'Dance', 'Play', 'Drink'])
# Få første to rader
trykk (hobbyer.filter (elementer = [0,1], akse = 0))
skrive ut()
# Få bare andre, tredje og femte rader
trykk (hobbyer.filter (elementer = [1,2,4], akse = 0))
Produksjon:
Stud_name hobbyer
0 Stud 1 Musikk
1 stud 2 sang
Stud_name hobbyer
1 stud 2 sang
2 stud 3 dans
4 Stud 5 Drink
Forklaring:
Eksempel 3: Filter etter ikke-numerisk indeks
Opprett datoframe med 3 kolonner som inneholder 4 poster og returner bare de spesielle radene separat basert på indeks. Her er indeksen av “.streng ”Type.
Importer pandaer
Journey = Pandas.DataFrame ('fra': ['City 1', 'City 1', 'City 3', 'City 4'],
'til': ['ap', 'USA', 'City 2', 'City 1'],
'Avstand': [200.500.466.100],
indeks = ['Passenger 1', 'Passenger 2', 'Passenger 3', 'Passenger 4'])
trykk (reise)
skrive ut()
# Få raden der indeks-'Passenger 3 '.
trykk (reise.Filter (elementer = ['Passenger 3'], Axis = 0))
skrive ut()
# Få raden der indeks-'Passenger 1 '.
trykk (reise.Filter (elementer = ['Passenger 1'], Axis = 0))
Produksjon:
fra til avstand
Passasjer 1 by 1 AP 200
Passasjer 2 City 1 USA 500
Passasjer 3 by 3 by 2 466
Passasjer 4 by 4 by 1 100
fra til avstand
Passasjer 3 by 3 by 2 466
fra til avstand
Passasjer 1 by 1 AP 200
Forklaring:
Eksempel 4: Filter av flere ikke-numeriske indekser
Returner de tre siste radene om gangen basert på indeksen.
Importer pandaer
Journey = Pandas.DataFrame ('fra': ['City 1', 'City 1', 'City 3', 'City 4'],
'til': ['ap', 'USA', 'City 2', 'City 1'],
'Avstand': [200.500.466.100],
indeks = ['Passenger 1', 'Passenger 2', 'Passenger 3', 'Passenger 4'])
# Få raden der indeks- 'Passenger 2', 'Passenger 3', 'Passenger 4'
trykk (reise.Filter (elementer = ['Passenger 2', 'Passenger 3', 'Passenger 4'], Axis = 0))
Produksjon:
fra til avstand
Passasjer 2 City 1 USA 500
Passasjer 3 by 3 by 2 466
Passasjer 4 by 4 by 1 100
Eksempel 5: Filter ved hjelp av lignende parameter
La oss bruke parameteren "som" for å returnere radene basert på indeksen som - "passasjer" og "r 1", separat.
Importer pandaer
Journey = Pandas.DataFrame ('fra': ['City 1', 'City 1', 'City 3', 'City 4'],
'til': ['ap', 'USA', 'City 2', 'City 1'],
'Avstand': [200.500.466.100],
indeks = ['Passenger 1', 'Passenger 2', 'Passenger 3', 'Passenger 4'])
# Få raden der indeksen er som 'passasjer'.
trykk (reise.filter (som = 'passasjer', akse = 0))
skrive ut()
# Få raden der indeksen er som 'R 1'.
trykk (reise.filter (like = 'r 1', akse = 0))
Produksjon:
fra til avstand
Passasjer 1 by 1 AP 200
Passasjer 2 City 1 USA 500
Passasjer 3 by 3 by 2 466
Passasjer 4 by 4 by 1 100
fra til avstand
Passasjer 1 by 1 AP 200
Forklaring:
Eksempel 6:
La oss vurdere DataFrame med indeksene - ['Sravan', 'Ravan', 'Pavan', 'Ravi'] og deretter returnere radene med indekser som "N" og "M" hver for seg.
Importer pandaer
Journey = Pandas.DataFrame ('fra': ['City 1', 'City 1', 'City 3', 'City 4'],
'til': ['ap', 'USA', 'City 2', 'City 1'],
'Avstand': [200.500.466.100],
indeks = ['Sravan', 'Ravan', 'Pavan', 'Ravi'])
# Få raden der indeksen er som 'n'.
trykk (reise.filter (like = 'n', akse = 0))
skrive ut()
# Få raden der indeksen er som 'M'.
trykk (reise.filter (som = 'm', akse = 0))
Produksjon:
fra til avstand
Sravan City 1 AP 200
Ravan City 1 USA 500
Pavan City 3 City 2 466
Tom dataaframe
Kolonner: [fra, til, avstand]
Indeks: []
Forklaring:
Konklusjon
Vi lærte deg hvordan du kan hente DataFrame -radene basert på indeksene deres i pandaer. Vi så syntaksen til filter () -funksjonen først for å forstå dens parametere og arbeid med filterfunksjonen. Vi implementerte de forskjellige eksemplene for å lære deg hvordan du filtrerer en dataframe ved å bruke indeksene for numeriske verdier og ikke-numeriske verdier. Vi implementerte også noen eksempler for å forklare hvordan du kan filtrere en dataaframe for indeksene som inneholder et bestemt tegn eller streng ved å sende lignende parameter til filter () -funksjonen.