Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Hitta de Minsta Värdena i en Kolumn | Extrahera Data
Avancerade tekniker i pandas

bookHitta de Minsta Värdena i en Kolumn

Vi kommer att lära oss en annan viktig funktion som returnerar de minsta eller största värdena. Du vet redan att vi kan sortera värden och sedan extrahera ett specifikt antal rader. Inte oväntat kan pandas göra detta med endast en rad kod. Titta på exemplet för hur man hämtar de femton äldsta bilarna:

1234
import 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))
copy

Om du vill sortera efter en kolumn och sedan efter en annan, ange bara en lista med kolumnnamn i önskad ordning. Titta på exemplet där vi först sorterar efter 'Year' och sedan efter 'Engine_volume'. Denna kod kommer först att extrahera de 5 äldsta bilarna, och om åren är lika kommer bilen med det lägre värdet i kolumnen 'Engine_volume' att prioriteras:

1234
import 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())
copy

Försök att jämföra de två exemplen nedan. Nu kommer vi att utveckla funktionen lite. Låt oss återgå till våra exempel med kolumnens 'Year'-värden. I vår kolumn kan 'Year'-värdena upprepas, så om vi vill visa de tio äldsta bilarna med den tidigare syntaxen, kommer vår funktion bara att ta tio värden. Den tar inte hänsyn till om det elfte eller tolfte värdet är samma som det tionde. Vi kan lägga till argumentet keep = 'all' i metoden .nsmallest() för att undvika sådana fall. Titta på exemplet och försök köra det för att se skillnaden:

1234567891011
import 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)
copy
Uppgift

Swipe to start coding

Nu är det dags att öva! Följ denna algoritm:

  1. Hämta data om bilar där kolumnen 'Year' har värden större än 2010.
  2. Extrahera de billigaste 15 bilarna (de 15 minsta värdena i kolumnen 'Price'). Inkludera alla dubbletter av värdet i kolumnen 'Price'.
  3. Skriv ut alla värden i datasettet data_cheapest.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 5
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

close

Awesome!

Completion rate improved to 3.03

bookHitta de Minsta Värdena i en Kolumn

Svep för att visa menyn

Vi kommer att lära oss en annan viktig funktion som returnerar de minsta eller största värdena. Du vet redan att vi kan sortera värden och sedan extrahera ett specifikt antal rader. Inte oväntat kan pandas göra detta med endast en rad kod. Titta på exemplet för hur man hämtar de femton äldsta bilarna:

1234
import 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))
copy

Om du vill sortera efter en kolumn och sedan efter en annan, ange bara en lista med kolumnnamn i önskad ordning. Titta på exemplet där vi först sorterar efter 'Year' och sedan efter 'Engine_volume'. Denna kod kommer först att extrahera de 5 äldsta bilarna, och om åren är lika kommer bilen med det lägre värdet i kolumnen 'Engine_volume' att prioriteras:

1234
import 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())
copy

Försök att jämföra de två exemplen nedan. Nu kommer vi att utveckla funktionen lite. Låt oss återgå till våra exempel med kolumnens 'Year'-värden. I vår kolumn kan 'Year'-värdena upprepas, så om vi vill visa de tio äldsta bilarna med den tidigare syntaxen, kommer vår funktion bara att ta tio värden. Den tar inte hänsyn till om det elfte eller tolfte värdet är samma som det tionde. Vi kan lägga till argumentet keep = 'all' i metoden .nsmallest() för att undvika sådana fall. Titta på exemplet och försök köra det för att se skillnaden:

1234567891011
import 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)
copy
Uppgift

Swipe to start coding

Nu är det dags att öva! Följ denna algoritm:

  1. Hämta data om bilar där kolumnen 'Year' har värden större än 2010.
  2. Extrahera de billigaste 15 bilarna (de 15 minsta värdena i kolumnen 'Price'). Inkludera alla dubbletter av värdet i kolumnen 'Price'.
  3. Skriv ut alla värden i datasettet data_cheapest.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 3. Kapitel 5
single

single

some-alt