mltable Módulo
Contiene la funcionalidad para crear e interactuar con objetos MLTable.
Clases
DataType |
Clase auxiliar para controlar la manipulación adecuada de los tipos de columna admitidos (int, bool, string, etc.). Actualmente se usa con MLTable.convert_column_types(...)& from_delimited_files(...) para especificar a qué tipos se van a convertir columnas. Se seleccionan diferentes tipos con DataType.from_(...) *Métodos. |
MLTable |
Representa una tabla MLTable. Una MLTable define una serie de operaciones inmutables y diferidamente evaluadas para cargar datos desde el origen de datos. Los datos no se cargan desde el origen hasta que se pide a MLTable que entreguen datos. Inicialice una nueva mlTable. Este constructor no se supone que se invoque directamente. MLTable está pensado para crearse mediante load. |
Metadata |
Clase que se asigna a la sección de metadatos de MLTable. Admite la obtención de & la adición de propiedades de metadatos arbritrary. |
Traits |
Clase que se asigna a la sección de rasgos de MLTable. Rasgos admitidos actualmente: timestamp_column y index_columns |
Enumeraciones
MLTableFileEncoding |
Define las opciones de cómo se procesa la codificación al leer datos de archivos para crear una mlTable. Estos valores de enumeración se usan en la clase MLTable. |
MLTableHeaders |
Define las opciones de cómo se procesan los encabezados de columna al leer datos de archivos para crear una instancia de MLTable. Estos valores de enumeración se usan en la clase MLTable. |
MLTablePartitionSize |
Enumeración del asistente que representa la memoria asignada para leer varias particiones para seleccionar formatos de archivo en diferentes unidades de memoria. Actualmente se usa al leer archivos de líneas JSON o delimitados. Admite bytes, kilobytes, megabytes y gigabytes como unidades de memoria, en binario. |
MLTableSaveOverwriteOption |
Define opciones para controlar conflictos de archivos en MLTable.save(). EIther genera un error si se produce un conflicto, sobrescribe el archivo existente con el nuevo archivo o deja el archivo existente tal cual. |
Funciones
from_delimited_files
Crea una MLTable a partir de la lista especificada de archivos delimitados.
from_delimited_files(paths, header='all_files_same_headers', delimiter=',', support_multi_line=False, empty_as_string=False, encoding='utf8', include_path_column=False, infer_column_types=True)
Parámetros
Las rutas de acceso admiten archivos o carpetas con rutas de acceso locales o en la nube. Se supone que las rutas de acceso de archivo locales relativas son relativas al directorio de trabajo actual. Si el directorio primario una ruta de acceso de archivo local es relativa a no es el directorio de trabajo actual, en su lugar se recomienda pasar esa ruta de acceso como una ruta de acceso de archivo absoluta.
- header
- Union[str, MLTableHeaders]
Cómo se controlan los encabezados de columna al leer archivos. Opciones especificadas mediante la enumeración MLTableHeaders. Los encabezados admitidos son "no_header", "from_first_file", "all_files_different_headers" y "all_files_same_headers".
- support_multi_line
- bool
Si es False, todos los saltos de línea, incluidos los de los valores de campo entre comillas, se interpretarán como un salto de registro. Leer los datos de esta manera es una forma más rápida y optimizada de ejecutar en paralelo en varios núcleos de CPU. Sin embargo, puede provocar la generación silenciosa de más registros con valores de campo mal alineados. Debe establecerse en True cuando se sabe que los archivos delimitados contienen saltos de línea entre comillas.
Dado este archivo CSV como ejemplo, los datos se leerán de forma diferente en función de support_multi_line.
A,B,C A1,B1,C1 A2,"B 2",C2
from mltable import from_delimited_files
# default behavior: support_multi_line=False
mltable = from_delimited_files(path)
print(mltable.to_pandas_dataframe())
# A B C
# 0 A1 B1 C1
# 1 A2 B None
# 2 2" C2 None
# to handle quoted line breaks
mltable = from_delimited_files(path, support_multi_line=True)
print(mltable.to_pandas_dataframe())
# A B C
# 0 A1 B1 C1
# 1 A2 B\r\n2 C2
- empty_as_string
- bool
Cómo se deben controlar los campos vacíos. Si True leerá campos vacíos como cadenas vacías, en caso contrario, leerá como valores NULL. Si True y column contienen datos datetime o numéricos, los campos vacíos siguen leyendo como valores NULL.
- encoding
- Union[str, MLTableFileEncoding]
Especifica la codificación de archivo mediante la enumeración MLTableFileEncoding. Las codificaciones admitidas son:
- utf8 como "utf8", "utf-8", "utf-8 bom"
- iso88591 como "iso88591" o "iso-8859-1"
- latin1 como "latin1" o "latin-1"
- utf16 como "utf16" o "utf-16"
- windows1252 como "windows1252" o "windows-1252"
- include_path_column
- bool
Mantener la información de ruta de acceso como una columna en MLTable es útil al leer varios archivos y desea saber de qué archivo procede un registro determinado o para mantener información útil que se puede almacenar en una ruta de acceso de archivo.
Si es True, deduce automáticamente todos los tipos de columna. Si es False, deja columnas como cadenas. Si un diccionario, representa las columnas cuyos tipos se van a establecer en tipos dados (con todas las demás columnas inferidas). El diccionario puede contener una clave denominada sample_size asignada a un número entero positivo, que representa el número de filas que se van a usar para deducir los tipos de columna. El diccionario también puede contener una clave denominada "column_type_overrides". Cada clave del diccionario es una cadena que representa un nombre de columna o una tupla de cadenas que representan un grupo de nombres de columna. Cada valor es una cadena (una de las "booleanas", "string", "float" o "int") o .DataType mltable. no se admite DataType.to_stream(). Si se proporciona un diccionario vacío, se supone que es True. El valor predeterminado es True.
Ejemplo de cómo dar formato a infer_column_types.
from mltable import from_delimited_files
# default behavior: support_multi_line=False
mltable = from_delimited_files(paths, infer_column_types={
'sample_size': 100,
'column_type_overrides': {
'colA': 'boolean'
('colB', 'colC'): DataType.to_int()
}
})
Devoluciones
MLTable
Tipo de valor devuelto
Comentarios
Debe haber una cadena de rutas de acceso válidas.
# load mltable from local delimited file
from mltable import from_delimited_files
paths = [{"file": "./samples/mltable_sample/sample_data.csv"}]
mltable = from_delimited_files(paths)
from_delta_lake
Crea un objeto MLTable para leer en archivos Parquet de la tabla delta lake.
from_delta_lake(delta_table_uri, timestamp_as_of=None, version_as_of=None, include_path_column=False)
Parámetros
- delta_table_uri
- str
URI que apunta al directorio de la tabla delta que contiene los archivos parquet de delta lake que se van a leer. Los tipos de URI admitidos son: URI de ruta de acceso local, URI de almacenamiento, URI de almacén de datos de formato largo o URI de recursos de datos.
- timestamp_as_of
- string
cadena datetime en formato RFC-3339/ISO-8601 que se usará para leer los archivos parquet coincidentes desde un momento dado específico. ex) "2022-10-01T00:00:00Z", "2022-10-01T00:00:00+08:00", "2022-10-01T01:30:00-08:00"
- version_as_of
- int
versión entera que se va a usar para leer en una versión específica de archivos parquet.
- include_path_column
- bool
Mantenga la información de ruta de acceso como una columna, útil al leer varios archivos y desea saber de qué archivo procede un registro determinado, o para mantener información útil que se puede almacenar en una ruta de acceso de archivo.
Devoluciones
Instancia de MLTable
Tipo de valor devuelto
Comentarios
from_delta_lake crea un objeto MLTable que define las operaciones para cargar datos de la carpeta delta lake en una representación tabular.
Para que Azure Machine Learning pueda acceder a los datos, la ruta de acceso debe apuntar al directorio de la tabla delta y los archivos de delta lake a los que se hace referencia deben ser accesibles por los servicios de AzureML o detrás de direcciones URL web públicas.
from_delta_lake admite la lectura de datos de delta lake desde un URI que apunta a: ruta de acceso local, Blob, ADLS Gen1 y ADLS Gen2
Los usuarios pueden leer y materializar los datos llamando a to_pandas_dataframe() en la mlTable devuelta.
# create an MLTable object from a delta lake using timestamp versioning and materialize the data
from mltable import from_delta_lake
mltable_ts = from_delta_lake(delta_table_uri="./data/delta-01", timestamp_as_of="2021-05-24T00:00:00Z")
pd = mltable_ts.to_pandas_dataframe()
# create an MLTable object from a delta lake using integer versioning and materialize the data
from mltable import from_delta_lake
mltable_version = from_delta_lake(delta_table_uri="./data/delta-02", version_as_of=1)
pd = mltable_version.to_pandas_dataframe()
from_json_lines_files
Cree una instancia de MLTable a partir de la lista especificada de rutas de acceso de archivo JSON.
from_json_lines_files(paths, invalid_lines='error', encoding='utf8', include_path_column=False)
Parámetros
Las rutas de acceso admiten archivos o carpetas con rutas de acceso locales o en la nube. Se supone que las rutas de acceso de archivo locales relativas son relativas al directorio de trabajo actual. Si el directorio primario una ruta de acceso de archivo local es relativa a no es el directorio de trabajo actual, en su lugar se recomienda pasar esa ruta de acceso como una ruta de acceso de archivo absoluta.
- invalid_lines
- str
Cómo controlar las líneas que no son JSON no válidas, puede ser "drop" o "error". Si se quitan las líneas no válidas "drop", se genera el error else.
- encoding
- Union[str, MLTableFileEncoding]
Especifica la codificación de archivo mediante la enumeración MLTableFileEncoding. Codificaciones de archivos compatibles:
- utf8 como "utf8", "utf-8", "utf-8 bom"
- iso88591 como "iso88591" o "iso-8859-1"
- latin1 como "latin1" o "latin-1"
- utf16 como "utf16" o "utf-16"
- windows1252 como "windows1252" o "windows-1252"
- include_path_column
- bool
Mantenga la información de ruta de acceso como una columna, útil al leer varios archivos y desea saber de qué archivo procede un registro determinado, o para mantener información útil que se puede almacenar en una ruta de acceso de archivo.
Devoluciones
MLTable
Tipo de valor devuelto
Comentarios
Debe haber un diccionario de rutas de acceso válidos.
# load mltable from local JSON paths
from mltable import from_json_lines_files
paths = [{'file': './samples/mltable_sample/sample_data.jsonl'}]
mltable = from_json_lines_files(paths)
from_parquet_files
Cree mlTable a partir de la lista especificada de archivos parquet.
from_parquet_files(paths, include_path_column=False)
Parámetros
Las rutas de acceso admiten archivos o carpetas con rutas de acceso locales o en la nube. Se supone que las rutas de acceso de archivo locales relativas son relativas al directorio de trabajo actual. Si el directorio primario una ruta de acceso de archivo local es relativa a no es el directorio de trabajo actual, en su lugar se recomienda pasar esa ruta de acceso como una ruta de acceso de archivo absoluta.
- include_path_column
- bool
Mantenga la información de ruta de acceso como una columna, útil al leer varios archivos y desea saber de qué archivo procede un registro determinado, o para mantener información útil que se puede almacenar en una ruta de acceso de archivo.
Devoluciones
Instancia de MLTable
Tipo de valor devuelto
Comentarios
Debe haber un diccionario de rutas de acceso válidos.
# load mltable from local parquet paths
from mltable import from_parquet_files
paths = [{'file': './samples/mltable_sample/sample.parquet'}]
mltable = from_parquet_files(paths)
from_paths
Cree mlTable a partir de las rutas de acceso especificadas.
from_paths(paths)
Parámetros
Las rutas de acceso admiten archivos o carpetas con rutas de acceso locales o en la nube. Se supone que las rutas de acceso de archivo locales relativas son relativas al directorio de trabajo actual. Si el directorio primario una ruta de acceso de archivo local es relativa a no es el directorio de trabajo actual, en su lugar se recomienda pasar esa ruta de acceso como una ruta de acceso de archivo absoluta.
Devoluciones
Instancia de MLTable
Tipo de valor devuelto
Comentarios
Debe haber un diccionario de rutas de acceso válidos.
# load mltable from local paths
from mltable import from_paths
tbl = from_paths([{'file': "./samples/mltable_sample"}])
# load mltable from cloud paths
from mltable import load
tbl = from_paths(
[{'file': "https://<blob-storage-name>.blob.core.windows.net/<path>/sample_file"}])
load
Carga el archivo MLTable (YAML) presente en el URI especificado.
storage_options admite claves de "suscripción", "resource_group", "área de trabajo" o "ubicación". Todos deben localizar un área de trabajo de Azure Machine Learning.
load(uri, storage_options: dict = None, ml_client=None)
Parámetros
- uri
- str
URI admite el URI del almacén de datos de formato largo, el URI de almacenamiento, la ruta de acceso local o el URI de recursos de datos o el URI corto del recurso de datos.
Información del área de trabajo de AML cuando el URI es un recurso de AML
- ml_client
- MLClient
Instancia de MLClient. Para más información, consulte https://learn.microsoft.com/en-us/python/api/azure-ai-ml/azure.ai.ml.mlclient?view=azure-python.
Devoluciones
MLTable
Tipo de valor devuelto
Comentarios
Debe haber un archivo YAML de MLTable válido denominado "MLTable" presente en el URI especificado.
# load mltable from local folder
from mltable import load
tbl = load('.\samples\mltable_sample')
# load mltable from azureml datastore uri
from mltable import load
tbl = load(
'azureml://subscriptions/<subscription-id>/
resourcegroups/<resourcegroup-name>/workspaces/<workspace-name>/
datastores/<datastore-name>/paths/<mltable-path-on-datastore>/')
# load mltable from azureml data asset uri
from mltable import load
tbl = load(
'azureml://subscriptions/<subscription-id>/
resourcegroups/<resourcegroup-name>/providers/Microsoft.MachineLearningServices/
workspaces/<workspace-name>/data/<data-asset-name>/versions/<data-asset-version>/')
# load mltable from azureml data asset short uri
from mltable import load
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
ml_client = MLClient(credential, <subscription_id>, <resourcegroup-name>, <workspace-name>)
tbl = load('azureml:<data-asset-name>:<version>', ml_client=ml_client)
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de