Finne de minste verdiene i en kolonne
Vi skal lære en annen viktig funksjon, som returnerer de minste eller største verdiene. Du vet allerede at vi kan sortere verdier og deretter hente ut et bestemt antall rader. Ikke overraskende kan pandas gjøre dette med kun én linje kode. Se eksempelet på hvordan man henter de femten eldste bilene:
1234import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) data_smallest = data.nsmallest(15, 'Year') print(data_smallest.head(15))
Hvis du ønsker å sortere etter én kolonne og deretter en annen, kan du bare sette en liste med kolonnenavn i ønsket rekkefølge. Se eksempelet der vi først sorterer etter 'Year'
og deretter etter 'Engine_volume'
. Denne koden vil først hente ut de 5
eldste bilene, og hvis årstallene er like, vil bilen med lavest verdi i kolonnen 'Engine_volume'
få prioritet:
1234import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) data_smallest = data.nsmallest(5, ['Year', 'Engine_volume']) print(data_smallest.head())
Prøv å sammenligne de to eksemplene nedenfor. Nå skal vi videreutvikle funksjonen litt. La oss returnere eksemplene våre med verdiene fra kolonnen 'Year'
. I kolonnen vår kan verdiene for 'Year'
gjentas, så hvis vi ønsker å vise de ti eldste bilene med den forrige syntaksen, vil funksjonen bare ta ti verdier. Den tar ikke hensyn til om den 11. eller 12. verdien er lik den 10. Vi kan legge til argumentet keep = 'all'
i .nsmallest()
-metoden for å unngå slike tilfeller. Se på eksemplet, og prøv å kjøre det for å se forskjellen:
1234567891011import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) # Case without using `keep = 'all'` argument data_smallest = data.nsmallest(6, 'Year') print(data_smallest) data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) # Case with using `keep = 'all'` argument data_smallest = data.nsmallest(6, 'Year', keep = 'all') print(data_smallest)
Swipe to start coding
Til slutt er det tid for å øve! Her skal du følge denne algoritmen:
- Hent data om biler der kolonnen
'Year'
har verdier større enn2010
. - Ekstraher de
15
billigste bilene (de15
laveste verdiene i kolonnen'Price'
). Inkluder alle dupliserte verdier i kolonnen'Price'
. - Skriv ut alle verdiene i datasettet
data_cheapest
.
Løsning
Takk for tilbakemeldingene dine!
single
Spør AI
Spør AI
Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår
Can you explain what the `nsmallest()` function does in pandas?
What does the `keep='all'` argument change in the output?
How can I use `nlargest()` instead of `nsmallest()` for the largest values?
Awesome!
Completion rate improved to 3.03
Finne de minste verdiene i en kolonne
Sveip for å vise menyen
Vi skal lære en annen viktig funksjon, som returnerer de minste eller største verdiene. Du vet allerede at vi kan sortere verdier og deretter hente ut et bestemt antall rader. Ikke overraskende kan pandas gjøre dette med kun én linje kode. Se eksempelet på hvordan man henter de femten eldste bilene:
1234import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) data_smallest = data.nsmallest(15, 'Year') print(data_smallest.head(15))
Hvis du ønsker å sortere etter én kolonne og deretter en annen, kan du bare sette en liste med kolonnenavn i ønsket rekkefølge. Se eksempelet der vi først sorterer etter 'Year'
og deretter etter 'Engine_volume'
. Denne koden vil først hente ut de 5
eldste bilene, og hvis årstallene er like, vil bilen med lavest verdi i kolonnen 'Engine_volume'
få prioritet:
1234import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) data_smallest = data.nsmallest(5, ['Year', 'Engine_volume']) print(data_smallest.head())
Prøv å sammenligne de to eksemplene nedenfor. Nå skal vi videreutvikle funksjonen litt. La oss returnere eksemplene våre med verdiene fra kolonnen 'Year'
. I kolonnen vår kan verdiene for 'Year'
gjentas, så hvis vi ønsker å vise de ti eldste bilene med den forrige syntaksen, vil funksjonen bare ta ti verdier. Den tar ikke hensyn til om den 11. eller 12. verdien er lik den 10. Vi kan legge til argumentet keep = 'all'
i .nsmallest()
-metoden for å unngå slike tilfeller. Se på eksemplet, og prøv å kjøre det for å se forskjellen:
1234567891011import pandas as pd data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) # Case without using `keep = 'all'` argument data_smallest = data.nsmallest(6, 'Year') print(data_smallest) data = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/4bf24830-59ba-4418-969b-aaf8117d522e/cars.csv', index_col = 0) # Case with using `keep = 'all'` argument data_smallest = data.nsmallest(6, 'Year', keep = 'all') print(data_smallest)
Swipe to start coding
Til slutt er det tid for å øve! Her skal du følge denne algoritmen:
- Hent data om biler der kolonnen
'Year'
har verdier større enn2010
. - Ekstraher de
15
billigste bilene (de15
laveste verdiene i kolonnen'Price'
). Inkluder alle dupliserte verdier i kolonnen'Price'
. - Skriv ut alle verdiene i datasettet
data_cheapest
.
Løsning
Takk for tilbakemeldingene dine!
single