TabularDataset Classe
Représente le jeu de données tabulaire à utiliser dans Azure Machine Learning.
Un TabularDataset définit une série d’opérations immuables et évaluées tardivement pour charger les données de la source de données dans une représentation tabulaire. Les données ne sont pas chargées à partir de la source tant que le TabularDataset n’est pas invité à fournir les données.
Le TabularDataset est créé à l’aide de méthodes telles que from_delimited_files de la classe TabularDatasetFactory.
Pour plus d’informations, consultez l’article Ajouter & inscrire des jeux de données. Pour commencer à utiliser un jeu de données tabulaire, consultez https://aka.ms/tabulardataset-samplenotebook.
Initialiser un objet TabularDataset.
Ce constructeur n’est pas censé être appelé directement. Le jeu de données est destiné à être créé à l’aide de la TabularDatasetFactory classe .
- Héritage
-
TabularDataset
Constructeur
TabularDataset()
Remarques
Un TabularDataset peut être créé à partir de fichiers CSV, TSV, Parquet ou d’une requête SQL à l’aide des méthodes from_*
de la classe TabularDatasetFactory. Vous pouvez effectuer des opérations de sous-ensemble sur un TabularDataset comme fractionner, ignorer et filtrer des enregistrements.
Une opération de sous-ensemble a toujours pour résultat un ou plusieurs nouveaux objets TabularDataset.
Vous pouvez aussi convertir un TabularDataset dans d’autres formats comme un dataframe Pandas. Le chargement effectif des données se produit quand il est demandé au TabularDataset de livrer les données dans un autre mécanisme de stockage (par exemple, dataframe Pandas ou fichier CSV).
Un TabularDataset peut servir d’entrée pour une exécution d’expérience. Il peut également être inscrit dans l’espace de travail avec un nom spécifié et être récupéré ultérieurement avec ce nom.
Méthodes
download |
Notes Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental. Télécharge les flux de fichiers définis par le jeu de données au chemin d'accès local. |
drop_columns |
Supprimer les colonnes spécifiées du jeu de données. Si une colonne timeseries est supprimée, les fonctionnalités correspondantes seront également supprimées pour le jeu de données retourné. |
filter |
Notes Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental. Filtrer les données, en laissant uniquement les enregistrements qui correspondent à l’expression spécifiée. |
get_profile |
Notes Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental. Obtient le profil de données de la dernière exécution de profil envoyée pour ce jeu de données ou le même jeu de données dans l’espace de travail. |
get_profile_runs |
Notes Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental. Retourne les exécutions de profil précédentes associées à ce jeu de données ou au même jeu de données dans l’espace de travail. |
keep_columns |
Conserver les colonnes spécifiées et supprimer toutes les autres du jeu de données. Si une colonne timeseries est supprimée, les fonctionnalités correspondantes seront également supprimées pour le jeu de données retourné. |
mount |
Notes Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental. Crée un gestionnaire de contexte pour monter les flux de fichiers définis par le jeu de données comme étant des fichiers locaux. |
partition_by |
Les données partitionnées sont copiées et une sortie est créée vers la destination spécifiée par la cible. Créer le jeu de données à partir du chemin d’accès aux données en sortie avec le format de partition, inscrire le jeu de données si le nom est fourni, retourner le jeu de données pour le nouveau chemin d’accès aux données avec des partitions
|
random_split |
Fractionne les enregistrements du jeu de données en deux parties de façon aléatoire et approximative selon le pourcentage spécifié. Le premier jeu de données contient environ |
skip |
Ignore les enregistrements en partant du haut du jeu de données selon le nombre spécifié. |
submit_profile_run |
Notes Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental. Envoie une exécution d’expérience pour calculer le profil de données. Un profil de données peut être très utile pour comprendre les données d’entrée, identifier les anomalies et les valeurs manquantes en fournissant des informations utiles sur les données telles que le type de colonne, les valeurs manquantes, etc. |
take |
Prend un échantillon d’enregistrements en partant du haut du jeu de données selon le nombre spécifié. |
take_sample |
Prend un échantillon aléatoire d’enregistrements du jeu de données, approximativement d’après la probabilité spécifiée. |
time_after |
Filtre TabularDataset avec des colonnes d’horodatage après une heure de début spécifiée. |
time_before |
Filtre TabularDataset avec les colonnes d’horodatage avant l’heure de fin spécifiée. |
time_between |
Filtre TabularDataset entre les heures de début et de fin spécifiées. |
time_recent |
Filtre TabularDataset pour qu’il contienne uniquement la durée spécifiée (quantité) des données récentes. |
to_csv_files |
Convertit le jeu de données actuel en FileDataset contenant des fichiers CSV. Le jeu de données obtenu contient un ou plusieurs fichiers CSV, chacun correspondant à une partition de données du jeu de données actuel. Ces fichiers ne sont pas matérialisés tant qu’ils ne sont pas téléchargés ou lus. |
to_dask_dataframe |
Notes Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental. Retourne un dataframe Dask qui peut lire tardivement les données dans le jeu de données. |
to_pandas_dataframe |
Charge tous les enregistrements du jeu de données dans un dataframe Pandas. |
to_parquet_files |
Convertit le jeu de données actuel en FileDataset contenant des fichiers Parquet. Le jeu de données obtenu contient un ou plusieurs fichiers Parquet, chacun correspondant à une partition de données du jeu de données actuel. Ces fichiers ne sont pas matérialisés tant qu’ils ne sont pas téléchargés ou lus. |
to_spark_dataframe |
Charger tous les enregistrements du jeu de données dans un dataframe Spark. |
with_timestamp_columns |
Définit des colonnes timestamp pour le jeu de données. |
download
Notes
Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.
Télécharge les flux de fichiers définis par le jeu de données au chemin d'accès local.
download(stream_column, target_path=None, overwrite=False, ignore_not_found=True)
Paramètres
Nom | Description |
---|---|
stream_column
Obligatoire
|
Colonne de flux à télécharger. |
target_path
Obligatoire
|
Répertoire local dans lequel télécharger les fichiers. Si la valeur est définie sur None, les données sont téléchargées dans un répertoire temporaire. |
overwrite
Obligatoire
|
Indique si les fichiers existants doivent être remplacés. La valeur par défaut est False. Les fichiers existants seront remplacés si le remplacement a la valeur True. Sinon, une exception est levée. |
ignore_not_found
Obligatoire
|
Indique s’il faut faire échouer le téléchargement si certains fichiers pointés par le jeu de données sont introuvables. La valeur par défaut est True. Le téléchargement échouera en cas d’échec du téléchargement d’un fichier pour une raison quelconque si ignore_not_found est défini sur False ; dans le cas contraire, un avertissement sera enregistré pour les erreurs de type introuvable et le téléchargement réussira tant qu’aucun autre type d’erreur ne se produit. |
Retours
Type | Description |
---|---|
Retourne un tableau de chemins de fichier pour chaque fichier téléchargé. |
drop_columns
Supprimer les colonnes spécifiées du jeu de données.
Si une colonne timeseries est supprimée, les fonctionnalités correspondantes seront également supprimées pour le jeu de données retourné.
drop_columns(columns)
Paramètres
Nom | Description |
---|---|
columns
Obligatoire
|
Nom ou liste des noms des colonnes à supprimer. |
Retours
Type | Description |
---|---|
Retourne un nouvel objet TabularDataset avec les colonnes spécifiées supprimées. |
filter
Notes
Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.
Filtrer les données, en laissant uniquement les enregistrements qui correspondent à l’expression spécifiée.
filter(expression)
Paramètres
Nom | Description |
---|---|
expression
Obligatoire
|
Expression à évaluer. |
Retours
Type | Description |
---|---|
Jeu de données modifié (non inscrit). |
Remarques
Les expressions sont démarrées en indexant le jeu de données avec le nom d’une colonne. Elles prennent en charge un large éventail de fonctions et d’opérateurs et peuvent être combinées à l’aide d’opérateurs logiques. L’expression résultante sera évaluée tardivement pour chaque enregistrement quand une opération d’extraction de données se produit et pas où elle est définie.
dataset['myColumn'] > dataset['columnToCompareAgainst']
dataset['myColumn'].starts_with('prefix')
get_profile
Notes
Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.
Obtient le profil de données de la dernière exécution de profil envoyée pour ce jeu de données ou le même jeu de données dans l’espace de travail.
get_profile(workspace=None)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Espace de travail dans lequel l’exécution du profil a été envoyée. La valeur par défaut est l’espace de travail de ce jeu de données. Nécessaire si le jeu de données n’est associé à aucun espace de travail. Pour plus d’informations sur les espaces de travail, consultez https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace.workspace. |
Retours
Type | Description |
---|---|
Résultat du profil de la dernière exécution du profil de type DatasetProfile. |
get_profile_runs
Notes
Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.
Retourne les exécutions de profil précédentes associées à ce jeu de données ou au même jeu de données dans l’espace de travail.
get_profile_runs(workspace=None)
Paramètres
Nom | Description |
---|---|
workspace
Obligatoire
|
Espace de travail dans lequel l’exécution du profil a été envoyée. La valeur par défaut est l’espace de travail de ce jeu de données. Nécessaire si le jeu de données n’est associé à aucun espace de travail. Pour plus d’informations sur les espaces de travail, consultez https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace.workspace. |
Retours
Type | Description |
---|---|
objet énumérateur de type azureml.core.Run. |
keep_columns
Conserver les colonnes spécifiées et supprimer toutes les autres du jeu de données.
Si une colonne timeseries est supprimée, les fonctionnalités correspondantes seront également supprimées pour le jeu de données retourné.
keep_columns(columns, validate=False)
Paramètres
Nom | Description |
---|---|
columns
Obligatoire
|
Nom ou liste de noms des noms des colonnes à conserver. |
validate
Obligatoire
|
Indique s’il faut vérifier si les données peuvent être chargées à partir du jeu de données retourné. La valeur par défaut est False. La validation nécessite que la source de données soit accessible à partir du calcul actuel. |
Retours
Type | Description |
---|---|
Retourne un nouvel objet TabularDataset avec uniquement les colonnes spécifiées conservées. |
mount
Notes
Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.
Crée un gestionnaire de contexte pour monter les flux de fichiers définis par le jeu de données comme étant des fichiers locaux.
mount(stream_column, mount_point=None)
Paramètres
Nom | Description |
---|---|
stream_column
Obligatoire
|
Colonne de flux à monter. |
mount_point
Obligatoire
|
Répertoire local dans lequel les fichiers doivent être montés. Si la valeur est définie sur None, les données sont montées dans un répertoire temporaire, que vous pouvez trouver en appelant la méthode d’instance MountContext.mount_point. |
Retours
Type | Description |
---|---|
<xref:azureml.dataprep.fuse.daemon.MountContext>
|
Retourne un gestionnaire de contexte pour gérer le cycle de vie du montage. |
partition_by
Les données partitionnées sont copiées et une sortie est créée vers la destination spécifiée par la cible.
Créer le jeu de données à partir du chemin d’accès aux données en sortie avec le format de partition, inscrire le jeu de données si le nom est fourni, retourner le jeu de données pour le nouveau chemin d’accès aux données avec des partitions
ds = Dataset.get_by_name('test') # indexed by country, state, partition_date
# #1: call partition_by locally
new_ds = ds.partition_by(name="repartitioned_ds", partition_keys=['country'],
target=DataPath(datastore, "repartition"))
partition_keys = newds.partition_keys # ['country']
# new_ds can be passed to PRS as input dataset
partition_by(partition_keys, target, name=None, show_progress=True, partition_as_file_dataset=False)
Paramètres
Nom | Description |
---|---|
partition_keys
Obligatoire
|
Obligatoire, clés de partition |
target
Obligatoire
|
Obligatoire, chemin d’accès au magasin de données où les données Parquet de dataframe sont chargées. Un dossier GUID est généré sous le chemin cible pour éviter tout conflit. |
name
Obligatoire
|
Facultatif, nom d’inscription. |
show_progress
Obligatoire
|
Facultatif. Indique s’il est nécessaire d’afficher la progression du chargement dans la console. La valeur par défaut est True. |
partition_as_file_dataset
Obligatoire
|
Facultatif. Indique si un filedataset doit être retourné ou non. La valeur par défaut est False. |
Retours
Type | Description |
---|---|
Jeu de données enregistré ou inscrit. |
random_split
Fractionne les enregistrements du jeu de données en deux parties de façon aléatoire et approximative selon le pourcentage spécifié.
Le premier jeu de données contient environ percentage
du nombre total d’enregistrements et le deuxième jeu de données contient les enregistrements restants.
random_split(percentage, seed=None)
Paramètres
Nom | Description |
---|---|
percentage
Obligatoire
|
Pourcentage approximatif à utiliser pour le découpage du jeu de données. Il doit s’agir d’un nombre compris entre 0,0 et 1,0. |
seed
Obligatoire
|
Valeur initiale facultative à utiliser pour le générateur aléatoire. |
Retours
Type | Description |
---|---|
Retourne un tuple de nouveaux objets TabularDataset représentant les deux jeux de données après le fractionnement. |
skip
Ignore les enregistrements en partant du haut du jeu de données selon le nombre spécifié.
skip(count)
Paramètres
Nom | Description |
---|---|
count
Obligatoire
|
Nombre d'enregistrements à ignorer. |
Retours
Type | Description |
---|---|
Retourne un nouvel objet TabularDataset qui représente un jeu de données dont les enregistrements ont été ignorés. |
submit_profile_run
Notes
Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.
Envoie une exécution d’expérience pour calculer le profil de données.
Un profil de données peut être très utile pour comprendre les données d’entrée, identifier les anomalies et les valeurs manquantes en fournissant des informations utiles sur les données telles que le type de colonne, les valeurs manquantes, etc.
submit_profile_run(compute_target, experiment, cache_datastore_name=None)
Paramètres
Nom | Description |
---|---|
compute_target
Obligatoire
|
Cible de calcul sur laquelle exécuter l’expérience de calcul de profil. Spécifier « local » pour utiliser le calcul local. Pour plus d’informations sur les cibles de calcul, consultez https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.computetarget. |
experiment
Obligatoire
|
Objet d’expérience. Pour plus d’informations sur les expériences, consultez https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.experiment.experiment. |
cache_datastore_name
Obligatoire
|
le nom du magasin de données dans lequel stocker le cache de profil. Si la valeur est None, le magasin de données par défaut sera utilisé |
Retours
Type | Description |
---|---|
Objet de type classe DatasetProfileRun. |
take
Prend un échantillon d’enregistrements en partant du haut du jeu de données selon le nombre spécifié.
take(count)
Paramètres
Nom | Description |
---|---|
count
Obligatoire
|
Nombre d’enregistrements à prendre. |
Retours
Type | Description |
---|---|
Retourne un nouvel objet TabularDataset représentant le jeu de données échantillonné. |
take_sample
Prend un échantillon aléatoire d’enregistrements du jeu de données, approximativement d’après la probabilité spécifiée.
take_sample(probability, seed=None)
Paramètres
Nom | Description |
---|---|
probability
Obligatoire
|
Probabilité qu’un enregistrement soit inclus dans l’échantillon. |
seed
Obligatoire
|
Valeur initiale facultative à utiliser pour le générateur aléatoire. |
Retours
Type | Description |
---|---|
Retourne un nouvel objet TabularDataset représentant le jeu de données échantillonné. |
time_after
Filtre TabularDataset avec des colonnes d’horodatage après une heure de début spécifiée.
time_after(start_time, include_boundary=True, validate=True)
Paramètres
Nom | Description |
---|---|
start_time
Obligatoire
|
Limite inférieure pour le filtrage de données. |
include_boundary
Obligatoire
|
Indique si la ligne associée à l’heure limite ( |
validate
Obligatoire
|
Indique s’il faut vérifier si les colonnes spécifiées existent dans le jeu de données. La valeur par défaut est True. La validation nécessite que la source de données soit accessible à partir du calcul actuel. |
Retours
Type | Description |
---|---|
TabularDataset avec le nouveau jeu de données filtré. |
time_before
Filtre TabularDataset avec les colonnes d’horodatage avant l’heure de fin spécifiée.
time_before(end_time, include_boundary=True, validate=True)
Paramètres
Nom | Description |
---|---|
end_time
Obligatoire
|
Limite supérieure pour le filtrage de données. |
include_boundary
Obligatoire
|
Indique si la ligne associée à l’heure limite ( |
validate
Obligatoire
|
Indique s’il faut vérifier si les colonnes spécifiées existent dans le jeu de données. La valeur par défaut est True. La validation nécessite que la source de données soit accessible à partir du calcul actuel. |
Retours
Type | Description |
---|---|
TabularDataset avec le nouveau jeu de données filtré. |
time_between
Filtre TabularDataset entre les heures de début et de fin spécifiées.
time_between(start_time, end_time, include_boundary=True, validate=True)
Paramètres
Nom | Description |
---|---|
start_time
Obligatoire
|
Limite inférieure pour le filtrage de données. |
end_time
Obligatoire
|
Limite supérieure pour le filtrage de données. |
include_boundary
Obligatoire
|
Indique si la ligne associée à l’heure limite ( |
validate
Obligatoire
|
Indique s’il faut vérifier si les colonnes spécifiées existent dans le jeu de données. La valeur par défaut est True. La validation nécessite que la source de données soit accessible à partir du calcul actuel. |
Retours
Type | Description |
---|---|
TabularDataset avec le nouveau jeu de données filtré. |
time_recent
Filtre TabularDataset pour qu’il contienne uniquement la durée spécifiée (quantité) des données récentes.
time_recent(time_delta, include_boundary=True, validate=True)
Paramètres
Nom | Description |
---|---|
time_delta
Obligatoire
|
Durée (quantité) des données récentes à récupérer. |
include_boundary
Obligatoire
|
Indique si la ligne associée à l’heure limite ( |
validate
Obligatoire
|
Indique s’il faut vérifier si les colonnes spécifiées existent dans le jeu de données. La valeur par défaut est True. La validation nécessite que la source de données soit accessible à partir du calcul actuel. |
Retours
Type | Description |
---|---|
TabularDataset avec le nouveau jeu de données filtré. |
to_csv_files
Convertit le jeu de données actuel en FileDataset contenant des fichiers CSV.
Le jeu de données obtenu contient un ou plusieurs fichiers CSV, chacun correspondant à une partition de données du jeu de données actuel. Ces fichiers ne sont pas matérialisés tant qu’ils ne sont pas téléchargés ou lus.
to_csv_files(separator=',')
Paramètres
Nom | Description |
---|---|
separator
Obligatoire
|
Séparateur à utiliser pour séparer les valeurs dans le fichier obtenu. |
Retours
Type | Description |
---|---|
Retourne un nouvel objet FileDataset avec un ensemble de fichiers CSV contenant les données de ce jeu de données. |
to_dask_dataframe
Notes
Il s’agit d’une méthode expérimentale qui peut changer à tout moment. Pour plus d’informations, consultez https://aka.ms/azuremlexperimental.
Retourne un dataframe Dask qui peut lire tardivement les données dans le jeu de données.
to_dask_dataframe(sample_size=10000, dtypes=None, on_error='null', out_of_range_datetime='null')
Paramètres
Nom | Description |
---|---|
sample_size
Obligatoire
|
Nombre d’enregistrements à lire pour déterminer le schéma et les types. |
dtypes
Obligatoire
|
Dict facultatif spécifiant les colonnes attendues et leur dtypes. La valeur sample_size est ignorée si elle est fournie. |
on_error
Obligatoire
|
Comment gérer les valeurs d’erreur dans le jeu de données, telles que celles produites par une erreur lors de l’analyse des valeurs. Les valeurs valides sont 'null' qui les remplace par null et 'fail' qui entraîne une exception. |
out_of_range_datetime
Obligatoire
|
Comment gérer les valeurs de date et d’heure qui se trouvent en dehors de la plage prise en charge par Pandas. Les valeurs valides sont 'null' qui les remplace par null et 'fail' qui entraîne une exception. |
Retours
Type | Description |
---|---|
dask.dataframe.core.DataFrame |
to_pandas_dataframe
Charge tous les enregistrements du jeu de données dans un dataframe Pandas.
to_pandas_dataframe(on_error='null', out_of_range_datetime='null')
Paramètres
Nom | Description |
---|---|
on_error
Obligatoire
|
Comment gérer les valeurs d’erreur dans le jeu de données, telles que celles produites par une erreur lors de l’analyse des valeurs. Les valeurs valides sont 'null' qui les remplace par null et 'fail' qui entraîne une exception. |
out_of_range_datetime
Obligatoire
|
Comment gérer les valeurs de date et d’heure qui se trouvent en dehors de la plage prise en charge par Pandas. Les valeurs valides sont 'null' qui les remplace par null et 'fail' qui entraîne une exception. |
Retours
Type | Description |
---|---|
Retourne un DataFrame pandas. |
to_parquet_files
Convertit le jeu de données actuel en FileDataset contenant des fichiers Parquet.
Le jeu de données obtenu contient un ou plusieurs fichiers Parquet, chacun correspondant à une partition de données du jeu de données actuel. Ces fichiers ne sont pas matérialisés tant qu’ils ne sont pas téléchargés ou lus.
to_parquet_files()
Retours
Type | Description |
---|---|
Retourne un nouvel objet FileDataset avec un ensemble de fichiers Parquet contenant les données de ce jeu de données. |
to_spark_dataframe
Charger tous les enregistrements du jeu de données dans un dataframe Spark.
to_spark_dataframe()
Retours
Type | Description |
---|---|
Retourne un dataframe Spark. |
with_timestamp_columns
Définit des colonnes timestamp pour le jeu de données.
with_timestamp_columns(timestamp=None, partition_timestamp=None, validate=False, **kwargs)
Paramètres
Nom | Description |
---|---|
timestamp
Obligatoire
|
Nom de la colonne en tant qu’horodateur (utilisé pour être désigné comme fine_grain_timestamp) (facultatif). La valeur par défaut est None (vide). |
partition_timestamp
Obligatoire
|
Nom de la colonne partition_timestamp (utilisé pour être désigné comme horodateur de grain grossier) (facultatif). La valeur par défaut est None (vide). |
validate
Obligatoire
|
Indique s’il faut vérifier si les colonnes spécifiées existent dans le jeu de données. La valeur par défaut est False. La validation nécessite que la source de données soit accessible à partir du calcul actuel. |
Retours
Type | Description |
---|---|
Retourne un nouveau TabularDataset avec des colonnes timestamp définies. |
Remarques
La méthode définit les colonnes à utiliser comme horodateurs. Les colonnes timestamp d’un jeu de données permettent de traiter les données comme des données de série chronologique et d’activer des fonctionnalités supplémentaires. Quand timestamp (used to be referred as fine_grain_timestamp)
et partition_timestamp (used to be referred as coarse grain timestamp)
sont tous deux spécifiés pour un jeu de données, les deux colonnes doivent représenter la même chronologie.