single
Trouver les plus petites valeurs d'une colonne
Glissez pour afficher le menu
Présentation d'une autre fonction essentielle, permettant d'obtenir les plus petites ou les plus grandes valeurs. Vous savez déjà que l'on peut trier des valeurs puis extraire un nombre spécifique de lignes. Sans surprise, pandas permet de le faire en une seule ligne de code. Exemple 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))
Pour trier selon une colonne puis une autre, il suffit de placer une liste contenant les noms des colonnes dans l'ordre souhaité. Exemple : nous allons d'abord trier par 'Year', puis par 'Engine_volume'. Ce code extraira d'abord les 5 voitures les plus anciennes, puis, en cas d'années 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 voulons 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 11e ou la 12e valeur soit identique à la 10e. 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 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)
Glissez pour commencer à coder
Ici, il convient de suivre cet algorithme :
- Extraire les données des voitures dont les valeurs de la colonne
'Year'sont supérieures à2010. - Sélectionner les
15voitures les moins chères (les15plus 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