MLTable Classe
Représente un MLTable.
Un MLTable définit une série d’opérations différées et immuables pour charger des données à partir de la source de données. Les données ne sont pas chargées à partir de la source tant que MLTable n’est pas invité à fournir des données.
Initialisez un nouveau MLTable.
Ce constructeur n’est pas censé être appelé directement. MLTable est destiné à être créé à l’aide loadde .
Constructeur
MLTable()
Méthodes
| convert_column_types |
Ajoute une étape de transformation pour convertir les colonnes spécifiées en leurs nouveaux types respectifs.
|
| drop_columns |
Ajoute une étape de transformation pour supprimer les colonnes données du jeu de données. Si une liste vide, un tuple ou un jeu n’est pas supprimé. Les colonnes en double déclenchent une exception UserErrorException. Toute tentative de suppression d’une colonne MLTable.traits.timestamp_column ou dans MLTable.traits.index_columns déclenche une exception UserErrorException. |
| extract_columns_from_partition_format |
Ajoute une étape de transformation pour utiliser les informations de partition de chaque chemin d’accès et les extraire dans des colonnes en fonction du format de partition spécifié. La partie format « {column_name} » crée une colonne de chaîne et « {column_name :aaaa/MM/mm/mm/ss} » crée une colonne datetime, où « aaaa », « MM », « dd », « HH », « mm » et « ss » sont utilisés pour extraire l’année, le mois, le jour, l’heure, la minute et le deuxième pour le type datetime. Le format doit commencer à partir de la position de la première clé de partition jusqu’à la fin du chemin d’accès au fichier. Par exemple, étant donné le chemin « /Accounts/2019/01/01/01/data.csv' où la partition est par nom de service et heure, partition_format='/{Department}/{PartitionDate :yyyy/MM/dd}/data.csv' crée une colonne de chaîne 'Department' avec la valeur 'Accounts' et une colonne datetime 'PartitionDate' avec la valeur '2019-01-01'. |
| filter |
Filtrer les données, en laissant uniquement les enregistrements qui correspondent à l’expression spécifiée. |
| get_partition_count |
Retourne le nombre de partitions de données sous-jacentes aux données associées à ce MLTable. |
| keep_columns |
Ajoute une étape de transformation pour conserver les colonnes spécifiées et supprimer toutes les autres personnes du jeu de données. Si une liste vide, un tuple ou un jeu n’est pas supprimé. Les colonnes en double déclenchent une exception UserErrorException. Si la colonne dans MLTable.traits.timestamp_column ou les colonnes de MLTable.traits.index_columns n’est pas explicitement conservée, une exception UserErrorException est raiesd. |
| random_split |
Fractionne de façon aléatoire ce MLTable en deux MLTables, l’un ayant approximativement « pourcentage »% des données de MLTable d’origine et l’autre ayant le reste (1 à « pourcentage »%). |
| save |
Enregistrez ce MLTable en tant que fichier YAML MLTable et ses chemins d’accès associé au chemin d’accès au répertoire donné. Si le chemin d’accès n’est pas donné, la valeur par défaut est le répertoire de travail actuel. Si le chemin d’accès n’existe pas, il est créé. Si le chemin d’accès est distant, le magasin de données sous-jacent doit déjà exister. Si le chemin d’accès est un répertoire local et n’est pas absolu, il est rendu absolu. Si le chemin pointe vers un fichier, une exception UserErrorException est déclenchée. Si le chemin d’accès est un chemin d’accès de répertoire qui contient déjà un ou plusieurs fichiers enregistrés (y compris le fichier YAML MLTable) et que le remplacement est défini sur False ou « fail » : une exception UserErrorException est déclenchée. Si le chemin d’accès est distant, tous les chemins de fichiers locaux non attribués en tant que chemin d’accès colocalisé (chemin d’accès de fichier par rapport au répertoire à partir duquel MLTable a été chargé) déclenchent une exception UserErrorException. contrôle la façon dont les chemins associés sont enregistrés dans le chemin d’accès. Si la valeur est True, les fichiers sont copiés vers le chemin d’accès en même temps que le fichier YAML MLTable en tant que chemins de fichier relatifs. Sinon, les fichiers associés ne sont pas copiés, les chemins d’accès distants restent comme indiqués et les chemins d’accès locaux sont effectués par rapport à la redirection de chemin si nécessaire. Notez que False peut entraîner des fichiers YAML MLTable non alloués qui ne sont pas recommandés. En outre, si le chemin d’accès est distant, un UserErrorException en tant que redirection de chemin relatif n’est pas pris en charge pour les URI distants. Notez que si mlTable est créé programmatiquement avec des méthodes telles que from_paths() ou from_read_delimited_files() avec des chemins relatifs locaux, le chemin d’accès du répertoire MLTable est supposé être le répertoire de travail actif. N’oubliez pas d’enregistrer un nouveau MLTable & fichiers de données associés dans un répertoire avec un fichier MLTable existant et les fichiers de données associés que le répertoire n’est pas effacé des fichiers existants avant d’enregistrer les nouveaux fichiers. Il est possible que les fichiers de données déjà existants restent persistants après l’enregistrement des nouveaux fichiers, en particulier si les fichiers de données existants n’ont pas de noms correspondant à de nouveaux fichiers de données. Si le nouveau MLTable contient un indicateur de modèle sous ses chemins d’accès, cela peut modifier involontairement le MLTable en associant des fichiers de données existants au nouveau MLTable. Si les chemins d’accès de fichier de ce MLTable pointent vers un fichier existant dans le chemin d’accès , mais ont un URI différent, si le remplacement est « échec » ou « skip » le fichier existant ne sera pas remplacé (c’est-à-dire ignoré). |
| select_partitions |
Ajoute une étape de transformation pour sélectionner la partition. |
| show |
Récupère les premières lignes de comptage de ce MLTable en tant que dataframe Pandas. |
| skip |
Ajoute une étape de transformation pour ignorer les premières lignes de ce MLTable. |
| take |
Ajoute une étape de transformation pour sélectionner les premières lignes de nombre de ce MLTable. |
| take_random_sample |
Ajoute une étape de transformation pour sélectionner aléatoirement chaque ligne de ce MLTable avec une probabilité de probabilité . La probabilité doit être comprise entre [0, 1]. Peut éventuellement définir une valeur initiale aléatoire. |
| to_pandas_dataframe |
Chargez tous les enregistrements à partir des chemins spécifiés dans le fichier MLTable dans un DataFrame Pandas. |
| validate |
Vérifie si les données de ce MLTable peuvent être chargées, nécessite que la ou les sources de données de MLTable soient accessibles à partir du calcul actuel. |
convert_column_types
Ajoute une étape de transformation pour convertir les colonnes spécifiées en leurs nouveaux types respectifs.
from mltable import DataType
data_types = {
'ID': DataType.to_string(),
'Date': DataType.to_datetime('%d/%m/%Y %I:%M:%S %p'),
'Count': DataType.to_int(),
'Latitude': DataType.to_float(),
'Found': DataType.to_bool(),
'Stream': DataType.to_stream()
}
convert_column_types(column_types)
Paramètres
| Nom | Description |
|---|---|
|
column_types
Obligatoire
|
Dictionnaire de colonnes : types que l’utilisateur souhaite convertir |
Retours
| Type | Description |
|---|---|
|
MLTable avec l’étape de transformation ajoutée |
drop_columns
Ajoute une étape de transformation pour supprimer les colonnes données du jeu de données. Si une liste vide, un tuple ou un jeu n’est pas supprimé. Les colonnes en double déclenchent une exception UserErrorException.
Toute tentative de suppression d’une colonne MLTable.traits.timestamp_column ou dans MLTable.traits.index_columns déclenche une exception UserErrorException.
drop_columns(columns: str | List[str] | Tuple[str] | Set[str])
Paramètres
| Nom | Description |
|---|---|
|
columns
Obligatoire
|
colonnes à supprimer de ce MLTable |
Retours
| Type | Description |
|---|---|
|
MLTable avec l’étape de transformation ajoutée |
extract_columns_from_partition_format
Ajoute une étape de transformation pour utiliser les informations de partition de chaque chemin d’accès et les extraire dans des colonnes en fonction du format de partition spécifié.
La partie format « {column_name} » crée une colonne de chaîne et « {column_name :aaaa/MM/mm/mm/ss} » crée une colonne datetime, où « aaaa », « MM », « dd », « HH », « mm » et « ss » sont utilisés pour extraire l’année, le mois, le jour, l’heure, la minute et le deuxième pour le type datetime.
Le format doit commencer à partir de la position de la première clé de partition jusqu’à la fin du chemin d’accès au fichier. Par exemple, étant donné le chemin « /Accounts/2019/01/01/01/data.csv' où la partition est par nom de service et heure, partition_format='/{Department}/{PartitionDate :yyyy/MM/dd}/data.csv' crée une colonne de chaîne 'Department' avec la valeur 'Accounts' et une colonne datetime 'PartitionDate' avec la valeur '2019-01-01'.
extract_columns_from_partition_format(partition_format)
Paramètres
| Nom | Description |
|---|---|
|
partition_format
Obligatoire
|
Format de partition à utiliser pour extraire des données dans des colonnes |
Retours
| Type | Description |
|---|---|
|
MLTable dont le format de partition est défini sur un format donné |
filter
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 |
|---|---|
|
MLTable après le filtre |
Remarques
Les expressions sont démarrées en indexant la mltable avec le nom d’une colonne. Ils prennent en charge une variété de fonctions et d’opérateurs et peuvent être combinés à l’aide d’opérateurs logiques. L’expression résultante est évaluée de manière différée pour chaque enregistrement lorsqu’une extraction de données se produit et non pas là où elle est définie.
filtered_mltable = mltable.filter('feature_1 == "5" and target > "0.5)"')
filtered_mltable = mltable.filter('col("FBI Code") == "11"')
get_partition_count
Retourne le nombre de partitions de données sous-jacentes aux données associées à ce MLTable.
get_partition_count() -> int
Retours
| Type | Description |
|---|---|
|
partitions de données dans ce MLTable |
keep_columns
Ajoute une étape de transformation pour conserver les colonnes spécifiées et supprimer toutes les autres personnes du jeu de données. Si une liste vide, un tuple ou un jeu n’est pas supprimé. Les colonnes en double déclenchent une exception UserErrorException.
Si la colonne dans MLTable.traits.timestamp_column ou les colonnes de MLTable.traits.index_columns n’est pas explicitement conservée, une exception UserErrorException est raiesd.
keep_columns(columns: str | List[str] | Tuple[str] | Set[str])
Paramètres
| Nom | Description |
|---|---|
|
columns
Obligatoire
|
colonnes dans ce MLTable à conserver |
Retours
| Type | Description |
|---|---|
|
MLTable avec l’étape de transformation ajoutée |
random_split
Fractionne de façon aléatoire ce MLTable en deux MLTables, l’un ayant approximativement « pourcentage »% des données de MLTable d’origine et l’autre ayant le reste (1 à « pourcentage »%).
random_split(percent=0.5, seed=None)
Paramètres
| Nom | Description |
|---|---|
|
percent
Obligatoire
|
pourcentage du MLTable à fractionner entre |
|
seed
Obligatoire
|
valeur initiale aléatoire facultative |
Retours
| Type | Description |
|---|---|
|
deux MLTables avec les données de ce MLTable divisées entre elles par « pourcentage » |
save
Enregistrez ce MLTable en tant que fichier YAML MLTable et ses chemins d’accès associé au chemin d’accès au répertoire donné.
Si le chemin d’accès n’est pas donné, la valeur par défaut est le répertoire de travail actuel. Si le chemin d’accès n’existe pas, il est créé. Si le chemin d’accès est distant, le magasin de données sous-jacent doit déjà exister. Si le chemin d’accès est un répertoire local et n’est pas absolu, il est rendu absolu.
Si le chemin pointe vers un fichier, une exception UserErrorException est déclenchée. Si le chemin d’accès est un chemin d’accès de répertoire qui contient déjà un ou plusieurs fichiers enregistrés (y compris le fichier YAML MLTable) et que le remplacement est défini sur False ou « fail » : une exception UserErrorException est déclenchée. Si le chemin d’accès est distant, tous les chemins de fichiers locaux non attribués en tant que chemin d’accès colocalisé (chemin d’accès de fichier par rapport au répertoire à partir duquel MLTable a été chargé) déclenchent une exception UserErrorException.
contrôle la façon dont les chemins associés sont enregistrés dans le chemin d’accès. Si la valeur est True, les fichiers sont copiés vers le chemin d’accès en même temps que le fichier YAML MLTable en tant que chemins de fichier relatifs. Sinon, les fichiers associés ne sont pas copiés, les chemins d’accès distants restent comme indiqués et les chemins d’accès locaux sont effectués par rapport à la redirection de chemin si nécessaire. Notez que False peut entraîner des fichiers YAML MLTable non alloués qui ne sont pas recommandés. En outre, si le chemin d’accès est distant, un UserErrorException en tant que redirection de chemin relatif n’est pas pris en charge pour les URI distants.
Notez que si mlTable est créé programmatiquement avec des méthodes telles que from_paths() ou from_read_delimited_files() avec des chemins relatifs locaux, le chemin d’accès du répertoire MLTable est supposé être le répertoire de travail actif.
N’oubliez pas d’enregistrer un nouveau MLTable & fichiers de données associés dans un répertoire avec un fichier MLTable existant et les fichiers de données associés que le répertoire n’est pas effacé des fichiers existants avant d’enregistrer les nouveaux fichiers. Il est possible que les fichiers de données déjà existants restent persistants après l’enregistrement des nouveaux fichiers, en particulier si les fichiers de données existants n’ont pas de noms correspondant à de nouveaux fichiers de données. Si le nouveau MLTable contient un indicateur de modèle sous ses chemins d’accès, cela peut modifier involontairement le MLTable en associant des fichiers de données existants au nouveau MLTable.
Si les chemins d’accès de fichier de ce MLTable pointent vers un fichier existant dans le chemin d’accès , mais ont un URI différent, si le remplacement est « échec » ou « skip » le fichier existant ne sera pas remplacé (c’est-à-dire ignoré).
save(path=None, overwrite=True, colocated=False, show_progress=False, if_err_remove_files=True)
Paramètres
| Nom | Description |
|---|---|
|
path
Obligatoire
|
chemin d’accès au répertoire à enregistrer, par défaut au répertoire de travail actif |
|
colocated
Obligatoire
|
Si la valeur est True, enregistre les copies des chemins de fichiers locaux et distants dans ce MLTable sous le chemin d’accès sous forme de chemins relatifs. Sinon, aucune copie de fichier n’a lieu et les chemins d’accès de fichiers distants sont enregistrés comme étant donnés au fichier YAML MLTable enregistré et aux chemins d’accès de fichiers locaux sous forme de chemins d’accès relatifs avec redirection de chemin d’accès. Si le chemin d’accès est distant et que ce MLTable contient des chemins de fichier locaux, une exception UserErrorException est déclenchée. |
|
overwrite
Obligatoire
|
Union[bool, str, <xref:mltable.MLTableSaveOverwriteOptions>]
La façon dont un fichier YAML MLTable existant et les fichiers associés qui peuvent déjà exister sous le chemin d’accès sont gérés. Les options sont « overwrite » (ou True) pour remplacer les fichiers existants, « fail » (ou False) pour déclencher une erreur si un fichier existe déjà, ou « skip » pour laisser les fichiers existants tels quel. Peut également être défini avec <xref:mltable.MLTableSaveOverwriteOptions>. |
|
show_progress
Obligatoire
|
affiche la progression de la copie vers stdout |
|
if_err_remove_files
Obligatoire
|
si une erreur se produit lors de l’enregistrement, supprimé les fichiers enregistrés avec succès pour rendre l’opération atomique |
Retours
| Type | Description |
|---|---|
|
cette instance MLTable |
select_partitions
Ajoute une étape de transformation pour sélectionner la partition.
select_partitions(partition_index_list)
Paramètres
| Nom | Description |
|---|---|
|
partition_index_list
Obligatoire
|
liste d’index de partition |
Retours
| Type | Description |
|---|---|
|
MLTable avec la taille de partition mise à jour |
Remarques
L’extrait de code suivant montre comment utiliser l’API select_partitions pour sélectionner des partitions à partir du MLTable fourni.
partition_index_list = [1, 2]
mltable = mltable.select_partitions(partition_index_list)
show
Récupère les premières lignes de comptage de ce MLTable en tant que dataframe Pandas.
show(count=20)
Paramètres
| Nom | Description |
|---|---|
|
count
Obligatoire
|
nombre de lignes en haut du tableau à sélectionner |
Retours
| Type | Description |
|---|---|
|
<xref:Pandas> <xref:Dataframe>
|
lignes de premier comptage de la MLTable |
skip
Ajoute une étape de transformation pour ignorer les premières lignes de ce MLTable.
skip(count)
Paramètres
| Nom | Description |
|---|---|
|
count
Obligatoire
|
nombre de lignes à ignorer |
Retours
| Type | Description |
|---|---|
|
MLTable avec l’étape de transformation ajoutée |
take
Ajoute une étape de transformation pour sélectionner les premières lignes de nombre de ce MLTable.
take(count=20)
Paramètres
| Nom | Description |
|---|---|
|
count
Obligatoire
|
nombre de lignes en haut du tableau à sélectionner |
Retours
| Type | Description |
|---|---|
|
MLTable avec l’étape de transformation « prendre » ajoutée |
take_random_sample
Ajoute une étape de transformation pour sélectionner aléatoirement chaque ligne de ce MLTable avec une probabilité de probabilité . La probabilité doit être comprise entre [0, 1]. Peut éventuellement définir une valeur initiale aléatoire.
take_random_sample(probability, seed=None)
Paramètres
| Nom | Description |
|---|---|
|
probability
Obligatoire
|
probabilité que chaque ligne soit sélectionnée |
|
seed
Obligatoire
|
valeur initiale aléatoire facultative |
Retours
| Type | Description |
|---|---|
|
MLTable avec l’étape de transformation ajoutée |
to_pandas_dataframe
Chargez tous les enregistrements à partir des chemins spécifiés dans le fichier MLTable dans un DataFrame Pandas.
to_pandas_dataframe()
Retours
| Type | Description |
|---|---|
|
Dataframe Pandas contenant les enregistrements des chemins d’accès dans ce MLTable |
Remarques
L’extrait de code suivant montre comment utiliser l’API to_pandas_dataframe pour obtenir un dataframe pandas correspondant au MLTable fourni.
from mltable import load
tbl = load('.\samples\mltable_sample')
pdf = tbl.to_pandas_dataframe()
print(pdf.shape)
validate
Vérifie si les données de ce MLTable peuvent être chargées, nécessite que la ou les sources de données de MLTable soient accessibles à partir du calcul actuel.
validate()
Retours
| Type | Description |
|---|---|
|
Aucun |
Attributs
paths
Retourne une liste de dictionnaires contenant les chemins d’accès d’origine donnés à ce MLTable. Les chemins d’accès relatifs aux fichiers locaux sont supposés être relatifs au répertoire à partir duquel le fichier YAML MLTable à partir duquel cette instance MLTable a été chargée.
Retours
| Type | Description |
|---|---|
|
liste des dicts contenant des chemins d’accès spécifiés dans mlTable |