Compartir a través de


mltable Paquete

Contiene funcionalidad para interactuar con los archivos de MLTable existentes y crearlos.

Con el paquete mltable , puede cargar, transformar y analizar datos en cualquier entorno de Python, incluidos Jupyter Notebook o su IDE de Python favorito.

Paquetes

tests

Contiene funcionalidad para interactuar con los archivos de MLTable existentes y crearlos.

Con el paquete mltable , puede cargar, transformar y analizar datos en cualquier entorno de Python, incluidos Jupyter Notebook o su IDE de Python favorito.

Módulos

mltable

Contiene 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 evaluadas de forma diferida para cargar datos desde el origen de datos. Los datos no se cargan desde el origen hasta que se pide a MLTable que entregue los datos.

Inicialice una nueva MLTable.

Este constructor no se supone que se invoque directamente. MLTable está diseñado para crearse mediante load.

Enumeraciones

MLTableFileEncoding

Define las opciones de cómo se procesa la codificación al leer datos de archivos para crear una tabla 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 tabla MLTable.

Estos valores de enumeración se usan en la clase MLTable.

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

Nombre Description
paths
Requerido

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 es una ruta de acceso de archivo local 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
Requerido

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".

delimiter
Requerido
str

separador usado para dividir columnas

support_multi_line
Requerido

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
Requerido

Cómo se deben controlar los campos vacíos. Si True leerá campos vacíos como cadenas vacías, de lo 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
Requerido

Especifica la codificación de archivos 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
Requerido

Mantener la información de la 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 puede almacenarse en una ruta de acceso de archivo.

infer_column_types
Requerido

Si es True, deduce automáticamente todos los tipos de columna. Si es False, deja las columnas como cadenas. Si se trata de un diccionario, representa columnas cuyos tipos se van a establecer en tipos dados (con todas las demás columnas que se deducen). 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 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 (uno de 'boolean', '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

Tipo Description

MLTable

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

Nombre Description
delta_table_uri
Requerido
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 del recurso de datos.

timestamp_as_of
Requerido

cadena datetime en formato RFC-3339/ISO-8601 que se usará para leer 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
Requerido
int

versión entera que se va a usar para leer en una versión específica de archivos parquet.

include_path_column
Requerido

Mantenga la información de la 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 puede almacenarse en una ruta de acceso de archivo.

Devoluciones

Tipo Description

Instancia de MLTable

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 mlTable devuelto.


   # 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 tabla 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

Nombre Description
paths
Requerido

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 es una ruta de acceso de archivo local 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
Requerido
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 produce el error else.

encoding
Requerido

Especifica la codificación de archivos 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
Requerido

Mantenga la información de la 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 puede almacenarse en una ruta de acceso de archivo.

Devoluciones

Tipo Description

MLTable

Comentarios

Debe haber un diccionario de rutas de acceso válido


   # 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

Nombre Description
paths
Requerido

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 es una ruta de acceso de archivo local 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
Requerido

Mantenga la información de la 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 puede almacenarse en una ruta de acceso de archivo.

Devoluciones

Tipo Description

Instancia de MLTable

Comentarios

Debe haber un diccionario de rutas de acceso válido


   # 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

Nombre Description
paths
Requerido

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 es una ruta de acceso de archivo local 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

Tipo Description

Instancia de MLTable

Comentarios

Debe haber un diccionario de rutas de acceso válido


   # 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". Todo debe localizar un área de trabajo de Azure Machine Learning.

load(uri, storage_options: dict = None, ml_client=None)

Parámetros

Nombre Description
uri
Requerido
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 del recurso de datos o el URI corto del recurso de datos.

storage_options
Requerido

Información del área de trabajo de AML cuando el URI es un recurso de AML

ml_client
Requerido

Devoluciones

Tipo Description

MLTable

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)