Trouver les Plus Petites Valeurs d'une Colonne
Nous allons étudier une autre fonction essentielle, qui permet d'obtenir 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 permet de le faire en une seule ligne de code. Consultez l'exemple suivant pour 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 selon une colonne puis une autre, il suffit de placer une liste contenant les noms des colonnes dans l'ordre souhaité. Voici un exemple où nous trions d'abord par 'Year'
puis par 'Engine_volume'
. Ce code extraira d'abord les 5
voitures les plus anciennes, puis, si les années sont identiques, la voiture ayant la plus petite valeur dans la colonne 'Engine_volume'
sera prioritaire :
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. Nous allons maintenant approfondir un peu la fonction. Revenons à nos exemples avec les valeurs de la colonne 'Year'
. Dans notre colonne, les valeurs 'Year'
peuvent être répétées, donc si nous souhaitons afficher les dix voitures les plus anciennes avec la syntaxe précédente, notre fonction ne prendra que dix valeurs. Elle ne tient pas compte du fait que la 11ème ou la 12ème valeur soit identique à la 10ème. Nous pouvons ajouter l'argument keep = 'all'
à la méthode .nsmallest()
pour éviter de tels cas. Regardez l'exemple et essayez de l'exécuter pour observer 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 passer à la pratique ! Suivez l'algorithme suivant :
- Extraire les données des voitures dont la colonne
'Year'
possède des valeurs supérieures à2010
. - Sélectionner les
15
voitures les moins chères (les15
plus petites valeurs de la colonne'Price'
). Inclure toutes les valeurs dupliquées de la colonne'Price'
. - Afficher 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
Can you explain what the `nsmallest()` function does in pandas?
What does the `keep='all'` argument change in the output?
How can I use `nlargest()` instead of `nsmallest()` for the largest values?
Awesome!
Completion rate improved to 3.03
Trouver les Plus Petites Valeurs d'une Colonne
Glissez pour afficher le menu
Nous allons étudier une autre fonction essentielle, qui permet d'obtenir 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 permet de le faire en une seule ligne de code. Consultez l'exemple suivant pour 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 selon une colonne puis une autre, il suffit de placer une liste contenant les noms des colonnes dans l'ordre souhaité. Voici un exemple où nous trions d'abord par 'Year'
puis par 'Engine_volume'
. Ce code extraira d'abord les 5
voitures les plus anciennes, puis, si les années sont identiques, la voiture ayant la plus petite valeur dans la colonne 'Engine_volume'
sera prioritaire :
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. Nous allons maintenant approfondir un peu la fonction. Revenons à nos exemples avec les valeurs de la colonne 'Year'
. Dans notre colonne, les valeurs 'Year'
peuvent être répétées, donc si nous souhaitons afficher les dix voitures les plus anciennes avec la syntaxe précédente, notre fonction ne prendra que dix valeurs. Elle ne tient pas compte du fait que la 11ème ou la 12ème valeur soit identique à la 10ème. Nous pouvons ajouter l'argument keep = 'all'
à la méthode .nsmallest()
pour éviter de tels cas. Regardez l'exemple et essayez de l'exécuter pour observer 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 passer à la pratique ! Suivez l'algorithme suivant :
- Extraire les données des voitures dont la colonne
'Year'
possède des valeurs supérieures à2010
. - Sélectionner les
15
voitures les moins chères (les15
plus petites valeurs de la colonne'Price'
). Inclure toutes les valeurs dupliquées de la colonne'Price'
. - Afficher toutes les valeurs de l'ensemble de données
data_cheapest
.
Solution
Merci pour vos commentaires !
single