single
Finne de minste verdiene i en kolonne
Sveip for å vise menyen
Du vil 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 kodelinje. Se eksempelet på hvordan du 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 vil sortere etter én kolonne og deretter etter en annen, setter du bare 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 utvide funksjonen litt. La oss bruke eksemplene våre med kolonnen 'Year'. I denne kolonnen kan verdiene for 'Year' gjentas, så hvis vi ønsker å vise de ti eldste bilene med den forrige syntaksen, vil funksjonen bare ta med 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)
Sveip for å begynne å kode
Her bør du følge denne algoritmen:
- Hent data om biler der kolonnen
'Year'har verdier større enn2010. - Ekstraher de
15billigste bilene (de15laveste verdiene i kolonnen'Price'). Inkluder alle dupliserte verdier i kolonnen'Price'. - Skriv ut alle verdier 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