Exercice 101
- Importer le module Pandas et utiliser la fonction read_csv() pour lire un fichier CSV contenant des données sur les prix de l'immobilier dans une ville donnée. Assignez le résultat à une variable appelée "df".
- Affichez les premières 5 lignes de "df" à l'aide de la méthode head().
- Affichez les informations générales de "df" à l'aide de la méthode info().
- Utilisez la méthode describe() pour afficher les statistiques descriptives de toutes les colonnes numériques de "df".
- Utilisez la méthode groupby() pour regrouper les données en fonction de la colonne "zipcode" et utilisez la méthode mean() pour calculer la moyenne du prix de l'immobilier dans chaque code postal. Assignez le résultat à une variable appelée "zipcode_mean".
- Utilisez la méthode sort_values() pour trier les données de "zipcode_mean" en fonction de la colonne "price" en ordre décroissant.
- Utilisez la méthode iloc[] pour sélectionner les 10 premières lignes de "zipcode_mean" et assignez le résultat à une variable appelée "top_10_zipcodes".
- Utilisez la méthode plot() pour tracer un graphique de dispersion de "df" avec la colonne "price" en ordonnée et la colonne "sqft_living" en abscisse. Utilisez le paramètre "c" pour spécifier la couleur en fonction de la colonne "zipcode".
Notez que cet exercice suppose que le fichier CSV importé contient des colonnes nommées "zipcode", "price", "sqft_living" et d'autres colonnes similaires, et vous devrez adapter les instructions en conséquence en fonction des colonnes de votre fichier CSV.
Solution
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# Importation de Pandas et lecture du fichier CSV import pandas as pd df = pd.read_csv("real_estate_data.csv") # Affichage des premières 5 lignes print(df.head()) # Affichage des informations générales print(df.info()) # Affichage des statistiques descriptives print(df.describe()) # Regroupement des données par code postal et calcul de la moyenne zipcode_mean = df.groupby("zipcode").mean() # Tri des données en fonction du prix décroissant zipcode_mean = zipcode_mean.sort_values("price", ascending=False) # Sélection des 10 premiers codes postaux top_10_zipcodes = zipcode_mean.iloc[:10, :] # Tracé du graphique de dispersion import matplotlib.pyplot as plt plt.scatter(df["sqft_living"], df["price"], c=df["zipcode"]) plt.xlabel("Surface habitable (pieds carrés)") plt.ylabel("Prix (en dollars)") plt.show() |
Younes Derfoufi
CRMEF OUJDA