File size: 1,368 Bytes
3fd0bb8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
29
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'")