TabularDataset Clase

Representa un conjunto de datos tabulares que se va a usar en Azure Machine Learning.

Un objeto TabularDataset define una serie de operaciones inmutables que se evalúan de forma diferida para cargar datos del origen de datos en una representación tabular. Los datos no se cargan desde el origen hasta que se pide a TabularDataset que entregue los datos.

TabularDataset se crea mediante métodos como from_delimited_files de la clase TabularDatasetFactory.

Para más información, consulte el artículo Incorporación de & registrar conjuntos de datos. Para empezar a trabajar con un conjunto de datos tabulares, consulte https://aka.ms/tabulardataset-samplenotebook.

Inicialice un objeto TabularDataset.

Este constructor no se supone que se invoque directamente. El conjunto de datos está diseñado para crearse mediante TabularDatasetFactory la clase .

Herencia
TabularDataset

Constructor

TabularDataset()

Comentarios

Se puede crear un objeto TabularDataset a partir de archivos CSV, TSV y Parquet, o a partir de una consulta SQL mediante los métodos from_* de la clase TabularDatasetFactory. Puede realizar operaciones de creación de subconjuntos en un objeto TabularDataset, como dividir, omitir y filtrar registros. El resultado de la creación de subconjuntos siempre es uno o varios objetos TabularDataset nuevos.

También puede convertir un objeto TabularDataset a otros formatos, como un DataFrame de Pandas. La carga de datos real se produce cuando se solicita a TabularDataset que entregue los datos a otro mecanismo de almacenamiento (por ejemplo, un DataFrame de Pandas o un archivo CSV).

El objeto TabularDataset se puede usar como entrada de una ejecución de experimento. También se puede registrar en el área de trabajo con un nombre especificado y recuperarse con ese nombre más adelante.

Métodos

download

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Descarga los flujos de archivos definidos por el conjunto de datos en la ruta de acceso local.

drop_columns

Quita las columnas especificadas del conjunto de datos.

Si se descarta una columna de serie temporal, también se eliminarán las funcionalidades correspondientes para el conjunto de datos devuelto.

filter

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Filtra los datos, dejando solo los registros que coinciden con la expresión especificada.

get_profile

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Obtiene el perfil de datos de la última ejecución de perfil enviada para este o el mismo conjunto de datos en el área de trabajo.

get_profile_runs

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Devuelve las ejecuciones de perfil anteriores asociadas a este o el mismo conjunto de datos en el área de trabajo.

keep_columns

Conserva las columnas especificadas y elimina todas las demás del conjunto de datos.

Si se descarta una columna de serie temporal, también se eliminarán las funcionalidades correspondientes para el conjunto de datos devuelto.

mount

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Crea un administrador de contexto para montar flujos de archivos definidos por el conjunto de datos como archivos locales.

partition_by

Los datos con particiones se copiarán y se mostrarán en el destino especificado por el destino.

Crea el conjunto de datos a partir de la ruta de acceso de datos de salida con formato de partición, registre el conjunto de datos si se proporciona el nombre, devuelva el conjunto de datos para la nueva ruta de acceso de datos con particiones.


   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
random_split

Divide los registros del conjunto de datos en dos partes de manera aleatoria y aproximada según el porcentaje especificado.

El primer conjunto de datos contiene aproximadamente percentage de los registros totales y el segundo conjunto de datos los registros restantes.

skip

Omite los registros de la parte superior del conjunto de datos según el recuento especificado.

submit_profile_run

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Envía una ejecución de experimentación para calcular el perfil de datos.

Un perfil de datos puede ser muy útil para comprender los datos de entrada, identificar anomalías y valores que faltan proporcionando información útil sobre los datos, como el tipo de columna, los valores que faltan, etc.

take

Toma una muestra de los registros de la parte superior del conjunto de datos según el recuento especificado.

take_sample

Toma una muestra aleatoria de registros del conjunto de datos según la probabilidad especificada aproximadamente.

time_after

Filtra un objeto TabularDataset con columnas de marca de tiempo después de una hora de inicio especificada.

time_before

Filtra un objeto TabularDataset con columnas de marca de tiempo antes de una hora de finalización especificada.

time_between

Filtra un objeto TabularDataset entre una hora de inicio y de finalización especificadas.

time_recent

Filtra un objeto TabularDataset para que contenga solo la duración (cantidad) especificada de datos recientes.

to_csv_files

Convierte el conjunto de datos actual en un objeto FileDataset que contiene archivos CSV.

El conjunto de datos resultante contendrá uno o varios archivos CSV, cada uno correspondiente a una partición de datos del conjunto de datos actual. Estos archivos no se materializan hasta que se descargan o se leen.

to_dask_dataframe

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Devuelve un DataFrame de Dask que puede leer de forma diferida los datos del conjunto de datos.

to_pandas_dataframe

Carga todos los registros del conjunto de datos en un DataFrame de pandas.

to_parquet_files

Convierte el conjunto de datos actual en un objeto FileDataset que contiene archivos Parquet.

El conjunto de datos resultante contendrá uno o varios archivos Parquet, cada uno correspondiente a una partición de datos del conjunto de datos actual. Estos archivos no se materializan hasta que se descargan o se leen.

to_spark_dataframe

Carga todos los registros del conjunto de datos en un DataFrame de Spark.

with_timestamp_columns

Define columnas de marca de tiempo para el conjunto de datos.

download

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Descarga los flujos de archivos definidos por el conjunto de datos en la ruta de acceso local.

download(stream_column, target_path=None, overwrite=False, ignore_not_found=True)

Parámetros

stream_column
str
Requerido

Columna de secuencia que se descargará.

target_path
str
Requerido

Directorio local en el que se descargarán los archivos. Si es None, los datos se descargarán en un directorio temporal.

overwrite
bool
Requerido

Indica si se van a sobrescribir los archivos existentes. El valor predeterminado es False. Los archivos existentes se sobrescribirán si el elemento overwrite está establecido en True; de lo contrario, se producirá una excepción.

ignore_not_found
bool
Requerido

Indica si se debe producir un error en la descarga si no se encuentran algunos archivos a los que apunta el conjunto de datos. El valor predeterminado es True. Se producirá un error en la descarga si se produce un error en la descarga de cualquier archivo por cualquier motivo si ignore_not_found se establece en False; de lo contrario, se registrará una advertencia para los errores de no encontrado y la descarga se realizará correctamente siempre que no se encuentre ningún otro tipo de error.

Devoluciones

Devuelve una matriz de rutas de acceso de archivo para cada archivo descargado.

Tipo de valor devuelto

drop_columns

Quita las columnas especificadas del conjunto de datos.

Si se descarta una columna de serie temporal, también se eliminarán las funcionalidades correspondientes para el conjunto de datos devuelto.

drop_columns(columns)

Parámetros

columns
Union[str, list[str]]
Requerido

Nombre o lista de nombres de las columnas que se van a quitar.

Devoluciones

Devuelve un nuevo objeto TabularDataset con las columnas especificadas descartadas.

Tipo de valor devuelto

filter

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Filtra los datos, dejando solo los registros que coinciden con la expresión especificada.

filter(expression)

Parámetros

expression
any
Requerido

La expresión que se va a evaluar.

Devoluciones

Conjunto de datos modificado (no registrado).

Tipo de valor devuelto

Comentarios

Las expresiones se inician indexando el conjunto de datos con el nombre de una columna. Admiten una variedad de funciones y operadores, y se pueden combinar mediante operadores lógicos. La expresión resultante se evaluará de forma diferida para cada registro cuando se produzca una extracción de datos y no cuando se define.


   dataset['myColumn'] > dataset['columnToCompareAgainst']
   dataset['myColumn'].starts_with('prefix')

get_profile

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Obtiene el perfil de datos de la última ejecución de perfil enviada para este o el mismo conjunto de datos en el área de trabajo.

get_profile(workspace=None)

Parámetros

workspace
Workspace
Requerido

Área de trabajo donde se envió la ejecución del perfil. El valor predeterminado es el área de trabajo de este conjunto de datos. Obligatorio si el conjunto de datos no está asociado a un área de trabajo. Consulte https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace.workspace para más información sobre las áreas de trabajo.

Devoluciones

Resultado del perfil de la última ejecución de perfil de tipo DatasetProfile.

Tipo de valor devuelto

get_profile_runs

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Devuelve las ejecuciones de perfil anteriores asociadas a este o el mismo conjunto de datos en el área de trabajo.

get_profile_runs(workspace=None)

Parámetros

workspace
Workspace
Requerido

Área de trabajo donde se envió la ejecución del perfil. El valor predeterminado es el área de trabajo de este conjunto de datos. Obligatorio si el conjunto de datos no está asociado a un área de trabajo. Consulte https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace.workspace para más información sobre las áreas de trabajo.

Devoluciones

Objeto iterator de tipo azureml.core.Run.

Tipo de valor devuelto

keep_columns

Conserva las columnas especificadas y elimina todas las demás del conjunto de datos.

Si se descarta una columna de serie temporal, también se eliminarán las funcionalidades correspondientes para el conjunto de datos devuelto.

keep_columns(columns, validate=False)

Parámetros

columns
Union[str, list[str]]
Requerido

Nombre o lista de nombres de las columnas que se van a mantener.

validate
bool
Requerido

Indica si se va a validar si se pueden cargar datos desde el conjunto de datos devuelto. El valor predeterminado es False. La validación requiere que el origen de datos sea accesible desde el recurso de proceso actual.

Devoluciones

Devuelve un nuevo objeto TabularDataset solo con las columnas especificadas que se mantienen.

Tipo de valor devuelto

mount

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Crea un administrador de contexto para montar flujos de archivos definidos por el conjunto de datos como archivos locales.

mount(stream_column, mount_point=None)

Parámetros

stream_column
str
Requerido

Columna de secuencia que se montará.

mount_point
str
Requerido

Directorio local en el que se montarán los archivos. Si es None, los datos se montarán en un directorio temporal, que se puede encontrar llamando al método de instancia MountContext.mount_point.

Devoluciones

Devuelve un administrador de contexto para administrar el ciclo de vida del montaje.

Tipo de valor devuelto

<xref:azureml.dataprep.fuse.daemon.MountContext>

partition_by

Los datos con particiones se copiarán y se mostrarán en el destino especificado por el destino.

Crea el conjunto de datos a partir de la ruta de acceso de datos de salida con formato de partición, registre el conjunto de datos si se proporciona el nombre, devuelva el conjunto de datos para la nueva ruta de acceso de datos con particiones.


   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)

Parámetros

partition_keys
list[str]
Requerido

Obligatorio, claves de partición

target
DataPath, Datastore o tuple(Datastore, str) object
Requerido

Obligatorio, la ruta de acceso del almacén de datos en la que se cargarán los datos del parquet de la trama de datos. Se generará una carpeta guid en la ruta de acceso de destino para evitar conflictos.

name
str
Requerido

Opcional, el nombre de registro.

show_progress
bool
Requerido

Opcional, indica si se debe mostrar el progreso de la carga en la consola. El valor predeterminado es True.

partition_as_file_dataset
Requerido

Opcional, indica si devuelve un conjunto de datos de archivo o no. El valor predeterminado es False.

Devoluciones

Conjunto de datos guardado o registrado.

Tipo de valor devuelto

random_split

Divide los registros del conjunto de datos en dos partes de manera aleatoria y aproximada según el porcentaje especificado.

El primer conjunto de datos contiene aproximadamente percentage de los registros totales y el segundo conjunto de datos los registros restantes.

random_split(percentage, seed=None)

Parámetros

percentage
float
Requerido

Porcentaje aproximado por el que se divide el conjunto de datos. Debe ser un número comprendido entre 0,0 y 1,0.

seed
int
Requerido

Inicialización opcional que se usará para el generador aleatorio.

Devoluciones

Devuelve una tupla de objetos FileDataset nuevos que representa los dos conjuntos de datos después de la división.

Tipo de valor devuelto

skip

Omite los registros de la parte superior del conjunto de datos según el recuento especificado.

skip(count)

Parámetros

count
int
Requerido

Número de registros que se van a omitir.

Devoluciones

Devuelve un nuevo objeto TabularDataset que representa un conjunto de datos con los registros omitidos.

Tipo de valor devuelto

submit_profile_run

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Envía una ejecución de experimentación para calcular el perfil de datos.

Un perfil de datos puede ser muy útil para comprender los datos de entrada, identificar anomalías y valores que faltan proporcionando información útil sobre los datos, como el tipo de columna, los valores que faltan, etc.

submit_profile_run(compute_target, experiment, cache_datastore_name=None)

Parámetros

compute_target
Union[str, ComputeTarget]
Requerido

Destino de proceso en el que se ejecutará el experimento de cálculo de perfil. Especifique "local" para usar el recurso de proceso local. Consulte https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.computetarget para más información sobre los destinos de proceso.

experiment
Experiment
Requerido

Objeto de experimento. Consulte https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.experiment.experiment para más información sobre los experimentos.

cache_datastore_name
str
Requerido

El nombre del almacén de datos para almacenar la caché de perfiles; si está establecido en None, se usará el almacén de datos predeterminado.

Devoluciones

Objeto de tipo clase DatasetProfileRun.

Tipo de valor devuelto

take

Toma una muestra de los registros de la parte superior del conjunto de datos según el recuento especificado.

take(count)

Parámetros

count
int
Requerido

Número de registros que se van a tomar.

Devoluciones

Devuelve un nuevo objeto TabularDataset que representa el conjunto de datos muestreado.

Tipo de valor devuelto

take_sample

Toma una muestra aleatoria de registros del conjunto de datos según la probabilidad especificada aproximadamente.

take_sample(probability, seed=None)

Parámetros

probability
float
Requerido

Probabilidad de que un registro se incluya en la muestra.

seed
int
Requerido

Inicialización opcional que se usará para el generador aleatorio.

Devoluciones

Devuelve un nuevo objeto TabularDataset que representa el conjunto de datos muestreado.

Tipo de valor devuelto

time_after

Filtra un objeto TabularDataset con columnas de marca de tiempo después de una hora de inicio especificada.

time_after(start_time, include_boundary=True, validate=True)

Parámetros

start_time
datetime
Requerido

Límite inferior para filtrar los datos.

include_boundary
bool
Requerido

Indica si se va a incluir la fila asociada al tiempo del límite (start_time).

validate
bool
Requerido

Indica si se va a validar si existen las columnas especificadas en el conjunto de datos. El valor predeterminado es True. La validación requiere que el origen de datos sea accesible desde el recurso de proceso actual.

Devoluciones

Objeto TabularDataset con el nuevo conjunto de datos filtrado.

Tipo de valor devuelto

time_before

Filtra un objeto TabularDataset con columnas de marca de tiempo antes de una hora de finalización especificada.

time_before(end_time, include_boundary=True, validate=True)

Parámetros

end_time
datetime
Requerido

Límite superior para filtrar los datos.

include_boundary
bool
Requerido

Indica si se va a incluir la fila asociada al tiempo del límite (end_time).

validate
bool
Requerido

Indica si se va a validar si existen las columnas especificadas en el conjunto de datos. El valor predeterminado es True. La validación requiere que el origen de datos sea accesible desde el recurso de proceso actual.

Devoluciones

Objeto TabularDataset con el nuevo conjunto de datos filtrado.

Tipo de valor devuelto

time_between

Filtra un objeto TabularDataset entre una hora de inicio y de finalización especificadas.

time_between(start_time, end_time, include_boundary=True, validate=True)

Parámetros

start_time
datetime
Requerido

Límite inferior para filtrar los datos.

end_time
datetime
Requerido

Límite superior para filtrar los datos.

include_boundary
bool
Requerido

Indica si se va a incluir la fila asociada al tiempo del límite (start_end y end_time).

validate
bool
Requerido

Indica si se va a validar si existen las columnas especificadas en el conjunto de datos. El valor predeterminado es True. La validación requiere que el origen de datos sea accesible desde el recurso de proceso actual.

Devoluciones

Objeto TabularDataset con el nuevo conjunto de datos filtrado.

Tipo de valor devuelto

time_recent

Filtra un objeto TabularDataset para que contenga solo la duración (cantidad) especificada de datos recientes.

time_recent(time_delta, include_boundary=True, validate=True)

Parámetros

time_delta
timedelta
Requerido

Duración (cantidad) de los datos recientes que se van a recuperar.

include_boundary
bool
Requerido

Indica si se va a incluir la fila asociada al tiempo del límite (time_delta).

validate
bool
Requerido

Indica si se va a validar si existen las columnas especificadas en el conjunto de datos. El valor predeterminado es True. La validación requiere que el origen de datos sea accesible desde el recurso de proceso actual.

Devoluciones

Objeto TabularDataset con el nuevo conjunto de datos filtrado.

Tipo de valor devuelto

to_csv_files

Convierte el conjunto de datos actual en un objeto FileDataset que contiene archivos CSV.

El conjunto de datos resultante contendrá uno o varios archivos CSV, cada uno correspondiente a una partición de datos del conjunto de datos actual. Estos archivos no se materializan hasta que se descargan o se leen.

to_csv_files(separator=',')

Parámetros

separator
str
Requerido

Separador que se va a usar para separar los valores del archivo resultante.

Devoluciones

Devuelve un nuevo objeto FileDataset con un conjunto de archivos CSV que contienen los datos de este conjunto de datos.

Tipo de valor devuelto

to_dask_dataframe

Nota

Se trata de un método experimental y puede cambiar en cualquier momento. Consulte https://aka.ms/azuremlexperimental para más información.

Devuelve un DataFrame de Dask que puede leer de forma diferida los datos del conjunto de datos.

to_dask_dataframe(sample_size=10000, dtypes=None, on_error='null', out_of_range_datetime='null')

Parámetros

sample_size
Requerido

Número de registros que se leerán para determinar el esquema y los tipos.

dtypes
Requerido

Un dict opcional que especifica las columnas esperadas y sus dtypes. sample_size se omite si se proporciona.

on_error
Requerido

Cómo controlar los valores de error del conjunto de datos, como los generados por un error al analizar los valores. Los valores válidos son 'null', que los reemplaza por null; y "fail", lo que dará lugar a una excepción.

out_of_range_datetime
Requerido

Cómo controlar los valores de fecha y hora que están fuera del intervalo admitido por Pandas. Los valores válidos son 'null', que los reemplaza por null; y "fail", lo que dará lugar a una excepción.

Devoluciones

dask.dataframe.core.DataFrame

to_pandas_dataframe

Carga todos los registros del conjunto de datos en un DataFrame de pandas.

to_pandas_dataframe(on_error='null', out_of_range_datetime='null')

Parámetros

on_error
Requerido

Cómo controlar los valores de error del conjunto de datos, como los generados por un error al analizar los valores. Los valores válidos son 'null', que los reemplaza por null; y "fail", lo que dará lugar a una excepción.

out_of_range_datetime
Requerido

Cómo controlar los valores de fecha y hora que están fuera del intervalo admitido por Pandas. Los valores válidos son 'null', que los reemplaza por null; y "fail", lo que dará lugar a una excepción.

Devoluciones

Devuelve un DataFrame de pandas.

Tipo de valor devuelto

to_parquet_files

Convierte el conjunto de datos actual en un objeto FileDataset que contiene archivos Parquet.

El conjunto de datos resultante contendrá uno o varios archivos Parquet, cada uno correspondiente a una partición de datos del conjunto de datos actual. Estos archivos no se materializan hasta que se descargan o se leen.

to_parquet_files()

Devoluciones

Devuelve un nuevo objeto FileDataset con un conjunto de archivos Parquet que contienen los datos de este conjunto de datos.

Tipo de valor devuelto

to_spark_dataframe

Carga todos los registros del conjunto de datos en un DataFrame de Spark.

to_spark_dataframe()

Devoluciones

Devuelve un DataFrame de Spark.

Tipo de valor devuelto

with_timestamp_columns

Define columnas de marca de tiempo para el conjunto de datos.

with_timestamp_columns(timestamp=None, partition_timestamp=None, validate=False, **kwargs)

Parámetros

timestamp
str
Requerido

Nombre de columna como marca de tiempo (que se conoce como fine_grain_timestamp) (opcional). El valor predeterminado es None (borrar).

partition_timestamp
str
Requerido

Nombre de columna como marca de tiempo (que se conoce como marca de tiempo de intervalo de agregación de gran tamaño) (opcional). El valor predeterminado es None (borrar).

validate
bool
Requerido

Indica si se va a validar si existen las columnas especificadas en el conjunto de datos. El valor predeterminado es False. La validación requiere que el origen de datos sea accesible desde el recurso de proceso actual.

Devoluciones

Devuelve un nuevo objeto TabularDataset con las columnas de marca de tiempo definidas.

Tipo de valor devuelto

Comentarios

El método define las columnas que se usarán como marcas de tiempo. Las columnas de marca de tiempo de un conjunto de datos permiten tratar los datos como datos de serie temporal y habilitar funcionalidades adicionales. Cuando un conjunto de datos tiene timestamp (used to be referred as fine_grain_timestamp) y partition_timestamp (used to be referred as coarse grain timestamp) especificados, las dos columnas deben representar la misma escala de tiempo.

Atributos

timestamp_columns

Devuelve las columnas de marca de tiempo.

Devoluciones

Nombres de columna de marca de tiempo (que se suelen llamar fine_grain_timestamp) y partition_timestamp (que se denominan marcas de tiempo de intervalo de agregación de gran tamaño) definidas para el conjunto de datos.

Tipo de valor devuelto

(str, str)