Trouver les Plus Petites Valeurs d'une Colonne
Nous allons apprendre une autre fonction cruciale, qui renvoie les plus petites ou les plus grandes valeurs. Vous savez déjà que nous pouvons trier les valeurs puis extraire un nombre spécifique de lignes. Sans surprise, pandas peut le faire en une seule ligne de code. Regardez l'exemple de comment récupérer les quinze voitures les plus anciennes :
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))
Si vous souhaitez trier par une colonne puis par une autre, il suffit de mettre une liste avec les noms des colonnes dans l'ordre nécessaire. Regardez l'exemple où nous allons trier d'abord par 'Year'
puis par 'Engine_volume'
. Ce code extraira d'abord les 5
voitures les plus anciennes, et ensuite, si les années correspondent, la voiture avec la valeur la plus faible de la colonne 'Engine_volume'
prendra la priorité :
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())
Essayez de comparer les deux exemples ci-dessous. Maintenant, nous allons avancer un peu la fonction. Retournons nos exemples avec les valeurs de la colonne 'Year'
. Dans notre colonne, les valeurs de 'Year'
peuvent être répétées, donc si nous voulons afficher les dix voitures les plus anciennes avec la syntaxe précédente, notre fonction prendra seulement dix valeurs. Elle ne se soucie pas si la 11ème ou la 12ème valeur est la même que la 10ème. Nous pouvons mettre l'argument keep = 'all'
dans la méthode .nsmallest()
pour éviter de tels cas. Regardez l'exemple et essayez de l'exécuter pour voir la différence :
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
Enfin, il est temps de pratiquer ! Ici, vous devez suivre cet algorithme :
- Récupérez les données sur les voitures où les valeurs de la colonne
'Year'
sont supérieures à2010
. - Extrayez les voitures les moins chères
15
(les15
plus petites valeurs de la colonne'Price'
). Incluez toutes les valeurs dupliquées de la colonne'Price'
. - Affichez toutes les valeurs de l'ensemble de données
data_cheapest
.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 3.03
Trouver les Plus Petites Valeurs d'une Colonne
Glissez pour afficher le menu
Nous allons apprendre une autre fonction cruciale, qui renvoie les plus petites ou les plus grandes valeurs. Vous savez déjà que nous pouvons trier les valeurs puis extraire un nombre spécifique de lignes. Sans surprise, pandas peut le faire en une seule ligne de code. Regardez l'exemple de comment récupérer les quinze voitures les plus anciennes :
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))
Si vous souhaitez trier par une colonne puis par une autre, il suffit de mettre une liste avec les noms des colonnes dans l'ordre nécessaire. Regardez l'exemple où nous allons trier d'abord par 'Year'
puis par 'Engine_volume'
. Ce code extraira d'abord les 5
voitures les plus anciennes, et ensuite, si les années correspondent, la voiture avec la valeur la plus faible de la colonne 'Engine_volume'
prendra la priorité :
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())
Essayez de comparer les deux exemples ci-dessous. Maintenant, nous allons avancer un peu la fonction. Retournons nos exemples avec les valeurs de la colonne 'Year'
. Dans notre colonne, les valeurs de 'Year'
peuvent être répétées, donc si nous voulons afficher les dix voitures les plus anciennes avec la syntaxe précédente, notre fonction prendra seulement dix valeurs. Elle ne se soucie pas si la 11ème ou la 12ème valeur est la même que la 10ème. Nous pouvons mettre l'argument keep = 'all'
dans la méthode .nsmallest()
pour éviter de tels cas. Regardez l'exemple et essayez de l'exécuter pour voir la différence :
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
Enfin, il est temps de pratiquer ! Ici, vous devez suivre cet algorithme :
- Récupérez les données sur les voitures où les valeurs de la colonne
'Year'
sont supérieures à2010
. - Extrayez les voitures les moins chères
15
(les15
plus petites valeurs de la colonne'Price'
). Incluez toutes les valeurs dupliquées de la colonne'Price'
. - Affichez toutes les valeurs de l'ensemble de données
data_cheapest
.
Solution
Merci pour vos commentaires !
Awesome!
Completion rate improved to 3.03single