Recherche des Plus Petites Valeurs d'une Colonne
Vous allez découvrir une autre fonction essentielle, qui permet d'obtenir les plus petites ou les plus grandes valeurs. Vous savez déjà que l'on peut trier les valeurs puis extraire un nombre spécifique de lignes. Sans surprise, pandas permet de le faire en une seule ligne de code. Voici un 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 d'abord par une colonne puis par une autre, il suffit de placer une liste contenant les noms des colonnes dans l'ordre souhaité. Voici un exemple où l'on trie d'abord par 'Year', puis par 'Engine_volume'. Ce code extrait 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 l'on souhaite afficher les dix voitures les plus anciennes avec la syntaxe précédente, la fonction ne prendra que dix valeurs. Elle ne prend pas en compte si la 11ᵉ ou la 12ᵉ valeur est identique à la 10ᵉ. Il est possible d'ajouter l'argument keep = 'all' à la méthode .nsmallest() pour éviter de tels cas. Consultez 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
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
Awesome!
Completion rate improved to 3.03
Recherche des Plus Petites Valeurs d'une Colonne
Glissez pour afficher le menu
Vous allez découvrir une autre fonction essentielle, qui permet d'obtenir les plus petites ou les plus grandes valeurs. Vous savez déjà que l'on peut trier les valeurs puis extraire un nombre spécifique de lignes. Sans surprise, pandas permet de le faire en une seule ligne de code. Voici un 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 d'abord par une colonne puis par une autre, il suffit de placer une liste contenant les noms des colonnes dans l'ordre souhaité. Voici un exemple où l'on trie d'abord par 'Year', puis par 'Engine_volume'. Ce code extrait 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 l'on souhaite afficher les dix voitures les plus anciennes avec la syntaxe précédente, la fonction ne prendra que dix valeurs. Elle ne prend pas en compte si la 11ᵉ ou la 12ᵉ valeur est identique à la 10ᵉ. Il est possible d'ajouter l'argument keep = 'all' à la méthode .nsmallest() pour éviter de tels cas. Consultez 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
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