Hitta 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:
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))
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:
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())
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:
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
Nu är det dags att öva! Följ denna algoritm:
- Hämta data om bilar där kolumnen
'Year'
har värden större än2010
. - Extrahera de billigaste
15
bilarna (de15
minsta värdena i kolumnen'Price'
). Inkludera alla dubbletter av värdet i kolumnen'Price'
. - Skriv ut alla värden i datasettet
data_cheapest
.
Lösning
Tack för dina kommentarer!
single
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Awesome!
Completion rate improved to 3.03
Hitta 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:
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))
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:
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())
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:
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
Nu är det dags att öva! Följ denna algoritm:
- Hämta data om bilar där kolumnen
'Year'
har värden större än2010
. - Extrahera de billigaste
15
bilarna (de15
minsta värdena i kolumnen'Price'
). Inkludera alla dubbletter av värdet i kolumnen'Price'
. - Skriv ut alla värden i datasettet
data_cheapest
.
Lösning
Tack för dina kommentarer!
single