Contenu du cours
Techniques Avancées dans Pandas
Techniques Avancées dans Pandas
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 :
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))
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é :
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())
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 :
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)
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 !
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 :
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))
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é :
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())
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 :
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)
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 !