Finde de Mindste Værdier i en Kolonne
Du vil lære en anden vigtig funktion, som returnerer de mindste eller største værdier. Du ved allerede, at vi kan sortere værdier og derefter udtrække et bestemt antal rækker. Ikke overraskende kan pandas gøre dette med kun én linje kode. Se eksemplet på, hvordan man henter de ældste femten biler:
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 efter én kolonne og derefter efter en anden, skal du blot angive en liste med kolonnenavne i den ønskede rækkefølge. Se eksemplet, hvor vi først sorterer efter 'Year' og derefter efter 'Engine_volume'. Denne kode vil først udtrække de 5 ældste biler, og hvis årstallene er ens, vil bilen med den laveste værdi 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())
Sammenlign de to eksempler nedenfor. Nu udvider vi funktionen en smule. Vi returnerer vores eksempler med kolonnens 'Year'-værdier. I vores kolonne kan 'Year'-værdierne gentages, så hvis vi ønsker at vise de ti ældste biler med den tidligere syntaks, vil funktionen kun tage ti værdier. Den tager ikke hensyn til, om den 11. eller 12. værdi er den samme som den 10. Vi kan tilføje argumentet keep = 'all' til .nsmallest()-metoden for at undgå sådanne tilfælde. Se eksemplet, og prøv at køre det for at se forskellen:
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
Her skal du følge denne algoritme:
- Hent data om biler, hvor kolonnen
'Year'har værdier større end2010. - Udtræk de billigste
15biler (de15mindste værdier i kolonnen'Price'). Medtag alle duplikerede værdier i kolonnen'Price'. - Udskriv alle værdier i datasættet
data_cheapest.
Løsning
Tak for dine kommentarer!
single
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Can you explain what the `keep='all'` argument does in more detail?
How does `.nsmallest()` differ from sorting and slicing the DataFrame?
Can I use `.nlargest()` in a similar way to get the newest cars?
Awesome!
Completion rate improved to 3.03
Finde de Mindste Værdier i en Kolonne
Stryg for at vise menuen
Du vil lære en anden vigtig funktion, som returnerer de mindste eller største værdier. Du ved allerede, at vi kan sortere værdier og derefter udtrække et bestemt antal rækker. Ikke overraskende kan pandas gøre dette med kun én linje kode. Se eksemplet på, hvordan man henter de ældste femten biler:
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 efter én kolonne og derefter efter en anden, skal du blot angive en liste med kolonnenavne i den ønskede rækkefølge. Se eksemplet, hvor vi først sorterer efter 'Year' og derefter efter 'Engine_volume'. Denne kode vil først udtrække de 5 ældste biler, og hvis årstallene er ens, vil bilen med den laveste værdi 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())
Sammenlign de to eksempler nedenfor. Nu udvider vi funktionen en smule. Vi returnerer vores eksempler med kolonnens 'Year'-værdier. I vores kolonne kan 'Year'-værdierne gentages, så hvis vi ønsker at vise de ti ældste biler med den tidligere syntaks, vil funktionen kun tage ti værdier. Den tager ikke hensyn til, om den 11. eller 12. værdi er den samme som den 10. Vi kan tilføje argumentet keep = 'all' til .nsmallest()-metoden for at undgå sådanne tilfælde. Se eksemplet, og prøv at køre det for at se forskellen:
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
Her skal du følge denne algoritme:
- Hent data om biler, hvor kolonnen
'Year'har værdier større end2010. - Udtræk de billigste
15biler (de15mindste værdier i kolonnen'Price'). Medtag alle duplikerede værdier i kolonnen'Price'. - Udskriv alle værdier i datasættet
data_cheapest.
Løsning
Tak for dine kommentarer!
single