import pandas as pd # Charger le dataset depuis le fichier Parquet df = pd.read_parquet('full_dataset.parquet') # Afficher les colonnes disponibles pour vérification print("Colonnes du dataset :", df.columns) # Assurer que les colonnes nécessaires existent # Remplace 'station_id', 'fuel_type' et 'timestamp' par les noms réels des colonnes si elles sont différentes required_columns = ['station_id', 'fuel_name', 'rate_date'] for col in required_columns: if col not in df.columns: raise ValueError(f"La colonne '{col}' est manquante dans le dataset.") # Convertir la colonne 'timestamp' en type datetime si ce n'est pas déjà le cas if not pd.api.types.is_datetime64_any_dtype(df['rate_date']): df['rate_date'] = pd.to_datetime(df['rate_date']) # Trier le dataframe par 'station_id', 'fuel_type' et 'timestamp' rate_date df_sorted = df.sort_values(by=['station_id', 'fuel_name', 'rate_date'], ascending=[True, True, False]) # Pour chaque combinaison de 'station_id' et 'fuel_type', sélectionner les 5 derniers enregistrements df_top5 = df_sorted.groupby(['station_id', 'fuel_name']).head(5).reset_index(drop=True) # Sauvegarder le sous-ensemble de données dans un nouveau fichier Parquet df_top5.to_parquet('subset_top5_per_station_fuel.parquet') print("Le sous-ensemble a été sauvegardé dans 'subset_top5_per_station_fuel.parquet'")