Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Trouver les Plus Petites Valeurs d'une Colonne | Extraction de Données
Techniques Avancées dans Pandas

bookTrouver 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 :

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

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 :

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

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 :

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
Tâche

Swipe to start coding

Enfin, il est temps de passer à la pratique ! Suivez l'algorithme suivant :

  1. Extraire les données des voitures dont la colonne 'Year' possède des valeurs supérieures à 2010.
  2. Sélectionner les 15 voitures les moins chères (les 15 plus petites valeurs de la colonne 'Price'). Inclure toutes les valeurs dupliquées de la colonne 'Price'.
  3. Afficher toutes les valeurs de l'ensemble de données data_cheapest.

Solution

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 5
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 3.03

bookTrouver 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 :

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

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 :

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

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 :

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
Tâche

Swipe to start coding

Enfin, il est temps de passer à la pratique ! Suivez l'algorithme suivant :

  1. Extraire les données des voitures dont la colonne 'Year' possède des valeurs supérieures à 2010.
  2. Sélectionner les 15 voitures les moins chères (les 15 plus petites valeurs de la colonne 'Price'). Inclure toutes les valeurs dupliquées de la colonne 'Price'.
  3. Afficher toutes les valeurs de l'ensemble de données data_cheapest.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 5
single

single

some-alt