Compartilhar via


TabularDataset Classe

Representa um conjunto de dados tabular a ser usado no Azure Machine Learning.

Um TabularDataset define uma série de operações que passam por avaliação preguiçosa e imutáveis a fim de carregar dados da fonte de dados para a representação tabular. Os dados não são carregados da origem até que TabularDataset seja solicitado a fornecer dados.

TabularDataset é criado usando métodos como from_delimited_files da classe TabularDatasetFactory.

Para obter mais informações, consulte o artigo Adicionar & registrar conjuntos de dados. Para começar a trabalhar com um conjunto de dados tabular, confira https://aka.ms/tabulardataset-samplenotebook.

Inicialize um objeto TabularDataset.

Esse construtor não deve ser invocado diretamente. O conjunto de dados deve ser criado usando TabularDatasetFactory a classe .

Herança
TabularDataset

Construtor

TabularDataset()

Comentários

Um TabularDataset pode ser criado a partir de arquivos CSV, TSV, Parquet ou consulta SQL usando os métodos from_* da classe TabularDatasetFactory. É possível executar operações de subconjunto em um TabularDataset como dividir, ignorar e filtrar registros. O resultado do subconjunto é sempre um ou mais novos objetos TabularDataset.

Você também pode converter um TabularDataset em outros formatos, como um DataFrame do Pandas. O carregamento de dados propriamente dito ocorre quando o TabularDataset é solicitado a entregar os dados em outro mecanismo de armazenamento (por exemplo, um DataFrame do Pandas ou um arquivo CSV).

O TabularDataset pode ser usado como entrada de uma execução de experimento. Ele também pode ser registrado no workspace com um nome especificado e ser recuperado por esse nome posteriormente.

Métodos

download

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Baixar os fluxos de arquivo definidos pelo conjunto de dados para o caminho local.

drop_columns

Remove as colunas especificadas do conjunto de dados.

Se uma coluna de série temporal for removida, os recursos correspondentes também serão removidos para o conjunto de dados retornado.

filter

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Filtrar os dados, deixando apenas os registros que correspondam à expressão especificada.

get_profile

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Obtenha o perfil de dados da última execução de perfil enviada para este ou para o mesmo conjunto de dados no workspace.

get_profile_runs

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Retorna as execuções de perfil anteriores associadas a este ou ao mesmo conjunto de dados no workspace.

keep_columns

Mantém as colunas especificadas e remove todas as outras do conjunto de dados.

Se uma coluna de série temporal for removida, os recursos correspondentes também serão removidos para o conjunto de dados retornado.

mount

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Criar um gerenciador de contexto para a montagem de fluxos de arquivos definidos pelo conjunto de dados como arquivos locais.

partition_by

Dados particionados serão copiados e produzidos como saída para o destino especificado.

Criar o conjunto de dados com base no caminho de dados produzido com o formato de partição, registrar o conjunto de dados se o nome for fornecido, retornar o conjunto de dados para o novo caminho de dados com partições


   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 os registros no conjunto de dados em duas partes aleatoriamente e aproximadamente pelo percentual especificado.

O primeiro conjunto de dados contém aproximadamente percentage do total de registros e o segundo conjunto de dados os registros restantes.

skip

Ignora registros do topo do conjunto de dados pela contagem especificada.

submit_profile_run

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Enviar uma execução de experimentação para calcular o perfil de dados.

Um perfil de dados pode ser muito útil para entender os dados de entrada, identificar anomalias e valores ausentes, fornecendo informações úteis sobre os dados, como tipo de coluna, valores ausentes, etc.

take

Obtém uma amostra de registros do topo do conjunto de dados pela contagem especificada.

take_sample

Obtém uma amostra aleatória de registros no conjunto de dados aproximadamente pela probabilidade especificada.

time_after

Filtra TabularDataset com colunas de carimbo de data/hora após uma hora de início especificada.

time_before

Filtra TabularDataset com colunas de carimbo de data/hora antes de um horário de término especificado.

time_between

Filtra TabularDataset entre um horário de início e término especificado.

time_recent

Filtra TabularDataset para conter apenas a duração especificada (valor) dos dados recentes.

to_csv_files

Converte o conjunto de dados atual em um FileDataset que contém os arquivos CSV.

O conjunto de dados resultante conterá um ou mais arquivos CSV, cada um correspondendo a uma partição de dados do conjunto de dados atual. Esses arquivos não serão materializados até que sejam baixados ou lidos.

to_dask_dataframe

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Retorna um dataframe Dask que pode fazer leitura lenta dos dados no conjunto de dados.

to_pandas_dataframe

Carrega todos os registros do conjunto de dados em um DataFrame do pandas.

to_parquet_files

Converte o conjunto de dados atual em um FileDataset que contém arquivos Parquet.

O conjunto de dados resultante conterá um ou mais arquivos Parquet, cada um correspondendo a uma partição de dados do conjunto de dados atual. Esses arquivos não serão materializados até que sejam baixados ou lidos.

to_spark_dataframe

Carrega todos os registros do conjunto de dados em um DataFrame do Spark.

with_timestamp_columns

Defina as colunas de carimbo de data/hora para o conjunto de dados.

download

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Baixar os fluxos de arquivo definidos pelo conjunto de dados para o caminho local.

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

Parâmetros

Nome Description
stream_column
Obrigatório
str

A coluna de fluxo a ser baixada.

target_path
Obrigatório
str

O diretório local para o qual baixar os arquivos. Se for None, os dados serão baixados para um diretório temporário.

overwrite
Obrigatório

Indica se os arquivos existentes devem ser substituídos. O padrão é False. Os arquivos existentes serão substituídos se overwrite estiver definido como True; caso contrário, uma exceção será gerada.

ignore_not_found
Obrigatório

Indica se haverá falha no download se alguns arquivos apontados pelo conjunto de dados não forem encontrados. O padrão é True. O download falhará se algum download de arquivo falhar por qualquer motivo se ignore_not_found estiver definido como False; caso contrário, um aviso será registrado em log para erros do tipo "não encontrado" e o download terá sucesso, desde que nenhum outro tipo de erro seja encontrado.

Retornos

Tipo Description

Retorna uma matriz de caminhos de arquivo para cada arquivo baixado.

drop_columns

Remove as colunas especificadas do conjunto de dados.

Se uma coluna de série temporal for removida, os recursos correspondentes também serão removidos para o conjunto de dados retornado.

drop_columns(columns)

Parâmetros

Nome Description
columns
Obrigatório

O nome ou uma lista de nomes para as colunas a serem removidas.

Retornos

Tipo Description

Retorna um novo objeto TabularDataset com as colunas especificadas removidas.

filter

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Filtrar os dados, deixando apenas os registros que correspondam à expressão especificada.

filter(expression)

Parâmetros

Nome Description
expression
Obrigatório
any

A expressão a ser avaliada.

Retornos

Tipo Description

O conjunto de dados modificado (não registrado).

Comentários

As expressões são iniciadas indexando o conjunto de dados com o nome de uma coluna. Elas dão suporte a uma variedade de funções e operadores e podem ser combinadas usando operadores lógicos. A expressão resultante passará por avaliação lenta para cada registro quando ocorrer um pull de dados, e não onde ela está definida.


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

get_profile

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Obtenha o perfil de dados da última execução de perfil enviada para este ou para o mesmo conjunto de dados no workspace.

get_profile(workspace=None)

Parâmetros

Nome Description
workspace
Obrigatório

O workspace em que a execução do perfil foi enviada. O padrão é o workspace deste conjunto de dados. Obrigatório se o conjunto de dados não estiver associado a um workspace. Confira https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace.workspace para obter mais informações sobre workspaces.

Retornos

Tipo Description

Resultado do perfil da última análise de perfil do tipo DatasetProfile.

get_profile_runs

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Retorna as execuções de perfil anteriores associadas a este ou ao mesmo conjunto de dados no workspace.

get_profile_runs(workspace=None)

Parâmetros

Nome Description
workspace
Obrigatório

O workspace em que a execução do perfil foi enviada. O padrão é o workspace deste conjunto de dados. Obrigatório se o conjunto de dados não estiver associado a um workspace. Confira https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace.workspace para obter mais informações sobre workspaces.

Retornos

Tipo Description

Objeto iterador do tipo azureml.core.Run.

keep_columns

Mantém as colunas especificadas e remove todas as outras do conjunto de dados.

Se uma coluna de série temporal for removida, os recursos correspondentes também serão removidos para o conjunto de dados retornado.

keep_columns(columns, validate=False)

Parâmetros

Nome Description
columns
Obrigatório

O nome ou uma lista de nomes para as colunas a serem mantidas.

validate
Obrigatório

Indica se é necessário validar se os dados podem ser carregados do conjunto de dados retornado. O padrão é False. A validação requer que a fonte de dados seja acessível a partir da computação atual.

Retornos

Tipo Description

Retorna um novo objeto TabularDataset com apenas as colunas especificadas mantidas.

mount

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Criar um gerenciador de contexto para a montagem de fluxos de arquivos definidos pelo conjunto de dados como arquivos locais.

mount(stream_column, mount_point=None)

Parâmetros

Nome Description
stream_column
Obrigatório
str

A coluna de fluxo a ser montada.

mount_point
Obrigatório
str

O diretório local no qual montar os arquivos. Se for None, os dados serão montados em um diretório temporário, que você poderá encontrar chamando o método de instância MountContext.mount_point.

Retornos

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

Retorna um gerenciador de contexto para gerenciar o ciclo de vida da montagem.

partition_by

Dados particionados serão copiados e produzidos como saída para o destino especificado.

Criar o conjunto de dados com base no caminho de dados produzido com o formato de partição, registrar o conjunto de dados se o nome for fornecido, retornar o conjunto de dados para o novo caminho de dados com partições


   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

Nome Description
partition_keys
Obrigatório

Obrigatório, chaves de partição

target
Obrigatório

Obrigatório, o caminho do armazenamento de dados no qual os dados parquet do dataframe serão carregados. Uma pasta guid será gerada no caminho de destino para evitar conflitos.

name
Obrigatório
str

Opcional, o nome de registro.

show_progress
Obrigatório

Opcional, indica se é preciso mostrar o progresso do upload no console. O padrão é True.

partition_as_file_dataset
Obrigatório

Opcional, indica se um filedataset deve ser retornado. O padrão é False.

Retornos

Tipo Description

O conjunto de dados salvo ou registrado.

random_split

Divide os registros no conjunto de dados em duas partes aleatoriamente e aproximadamente pelo percentual especificado.

O primeiro conjunto de dados contém aproximadamente percentage do total de registros e o segundo conjunto de dados os registros restantes.

random_split(percentage, seed=None)

Parâmetros

Nome Description
percentage
Obrigatório

O percentual aproximado pelo qual dividir o conjunto de dados. Precisa ser um número entre 0.0 e 1.0.

seed
Obrigatório
int

Semente opcional a ser usada para o gerador aleatório.

Retornos

Tipo Description

Retorna uma tupla de novos objetos TabularDataset que representam os dois conjuntos de dados após a divisão.

skip

Ignora registros do topo do conjunto de dados pela contagem especificada.

skip(count)

Parâmetros

Nome Description
count
Obrigatório
int

O número de registros a ser ignorados.

Retornos

Tipo Description

Retorna um novo objeto TabularDataset que representa um conjunto de dados com registros ignorados.

submit_profile_run

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Enviar uma execução de experimentação para calcular o perfil de dados.

Um perfil de dados pode ser muito útil para entender os dados de entrada, identificar anomalias e valores ausentes, fornecendo informações úteis sobre os dados, como tipo de coluna, valores ausentes, etc.

submit_profile_run(compute_target, experiment, cache_datastore_name=None)

Parâmetros

Nome Description
compute_target
Obrigatório

O destino de computação para executar o experimento de cálculo de perfil. Especifica o 'local' para usar a computação local. Confira https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.computetarget para obter mais informações sobre destinos de computação.

experiment
Obrigatório

O objeto do experimento. Para obter mais informações sobre experimentos, confira https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.experiment.experiment.

cache_datastore_name
Obrigatório
str

O nome do armazenamento de dados no qual armazenar o cache de perfil; se for None, o armazenamento de dados padrão será usado

Retornos

Tipo Description

Um objeto do tipo de classe DatasetProfileRun.

take

Obtém uma amostra de registros do topo do conjunto de dados pela contagem especificada.

take(count)

Parâmetros

Nome Description
count
Obrigatório
int

O número de registros a serem obtidos.

Retornos

Tipo Description

Retorna um novo objeto TabularDataset que representa o conjunto de dados amostrado.

take_sample

Obtém uma amostra aleatória de registros no conjunto de dados aproximadamente pela probabilidade especificada.

take_sample(probability, seed=None)

Parâmetros

Nome Description
probability
Obrigatório

A probabilidade de um registro ser incluído no exemplo.

seed
Obrigatório
int

Semente opcional a ser usada para o gerador aleatório.

Retornos

Tipo Description

Retorna um novo objeto TabularDataset que representa o conjunto de dados amostrado.

time_after

Filtra TabularDataset com colunas de carimbo de data/hora após uma hora de início especificada.

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

Parâmetros

Nome Description
start_time
Obrigatório

O limite inferior para filtrar dados.

include_boundary
Obrigatório

Indica se a linha associada ao tempo limite (start_time) deve ser incluída.

validate
Obrigatório

Indica se as colunas especificadas devem ser validadas no conjunto de dados. O padrão é True. A validação requer que a fonte de dados seja acessível a partir da computação atual.

Retornos

Tipo Description

Um TabularDataset com o novo conjunto de dados filtrado.

time_before

Filtra TabularDataset com colunas de carimbo de data/hora antes de um horário de término especificado.

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

Parâmetros

Nome Description
end_time
Obrigatório

Limite superior para filtrar dados.

include_boundary
Obrigatório

Indica se a linha associada ao tempo limite (end_time) deve ser incluída.

validate
Obrigatório

Indica se as colunas especificadas devem ser validadas no conjunto de dados. O padrão é True. A validação requer que a fonte de dados seja acessível a partir da computação atual.

Retornos

Tipo Description

Um TabularDataset com o novo conjunto de dados filtrado.

time_between

Filtra TabularDataset entre um horário de início e término especificado.

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

Parâmetros

Nome Description
start_time
Obrigatório

O limite inferior para filtrar dados.

end_time
Obrigatório

O limite superior para filtrar dados.

include_boundary
Obrigatório

Indica se a linha associada ao tempo limite (start_end e end_time) deve ser incluída.

validate
Obrigatório

Indica se as colunas especificadas devem ser validadas no conjunto de dados. O padrão é True. A validação requer que a fonte de dados seja acessível a partir da computação atual.

Retornos

Tipo Description

Um TabularDataset com o novo conjunto de dados filtrado.

time_recent

Filtra TabularDataset para conter apenas a duração especificada (valor) dos dados recentes.

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

Parâmetros

Nome Description
time_delta
Obrigatório

A duração (valor) dos dados recentes a serem recuperados.

include_boundary
Obrigatório

Indica se a linha associada ao tempo limite (time_delta) deve ser incluída.

validate
Obrigatório

Indica se as colunas especificadas devem ser validadas no conjunto de dados. O padrão é True. A validação requer que a fonte de dados seja acessível a partir da computação atual.

Retornos

Tipo Description

Um TabularDataset com o novo conjunto de dados filtrado.

to_csv_files

Converte o conjunto de dados atual em um FileDataset que contém os arquivos CSV.

O conjunto de dados resultante conterá um ou mais arquivos CSV, cada um correspondendo a uma partição de dados do conjunto de dados atual. Esses arquivos não serão materializados até que sejam baixados ou lidos.

to_csv_files(separator=',')

Parâmetros

Nome Description
separator
Obrigatório
str

O separador a ser usado para separar os valores no arquivo resultante.

Retornos

Tipo Description

Retorna um novo objeto FileDataset com um conjunto de arquivos CSV que contém os dados desse conjunto de dados.

to_dask_dataframe

Observação

Esse é um método experimental e pode mudar a qualquer momento. Consulte https://aka.ms/azuremlexperimental para obter mais informações.

Retorna um dataframe Dask que pode fazer leitura lenta dos dados no conjunto de dados.

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

Parâmetros

Nome Description
sample_size
Obrigatório

O número de registros a serem lidos para determinar o esquema e os tipos.

dtypes
Obrigatório

Um dicionário opcional que especifica as colunas esperadas e os respectivos dtypes. sample_size será ignorado se esse valor for fornecido.

on_error
Obrigatório

Como lidar com valores de erro no conjunto de dados, como aqueles produzidos por um erro ao analisar valores. Os valores válidos são 'null', que os substitui por nulo; e 'fail' que resultará em uma exceção.

out_of_range_datetime
Obrigatório

Como tratar valores de data/hora que estão fora do intervalo com suporte pelo Pandas. Os valores válidos são 'null', que os substitui por nulo; e 'fail', que resultará em uma exceção.

Retornos

Tipo Description

dask.dataframe.core.DataFrame

to_pandas_dataframe

Carrega todos os registros do conjunto de dados em um DataFrame do pandas.

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

Parâmetros

Nome Description
on_error
Obrigatório

Como lidar com valores de erro no conjunto de dados, como aqueles produzidos por um erro ao analisar valores. Os valores válidos são 'null', que os substitui por nulo; e 'fail' que resultará em uma exceção.

out_of_range_datetime
Obrigatório

Como tratar valores de data/hora que estão fora do intervalo com suporte pelo Pandas. Os valores válidos são 'null', que os substitui por nulo; e 'fail' que resultará em uma exceção.

Retornos

Tipo Description

Retorna um dataframe do pandas.

to_parquet_files

Converte o conjunto de dados atual em um FileDataset que contém arquivos Parquet.

O conjunto de dados resultante conterá um ou mais arquivos Parquet, cada um correspondendo a uma partição de dados do conjunto de dados atual. Esses arquivos não serão materializados até que sejam baixados ou lidos.

to_parquet_files()

Retornos

Tipo Description

Retorna um novo objeto FileDataset com um conjunto de arquivos Parquet que contém os dados nesse conjunto de dados.

to_spark_dataframe

Carrega todos os registros do conjunto de dados em um DataFrame do Spark.

to_spark_dataframe()

Retornos

Tipo Description

Retorna um DataFrame do Spark.

with_timestamp_columns

Defina as colunas de carimbo de data/hora para o conjunto de dados.

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

Parâmetros

Nome Description
timestamp
Obrigatório
str

O nome da coluna como carimbo de data/hora (usado para ser chamado de fine_grain_timestamp) (opcional). O padrão é None (limpo).

partition_timestamp
Obrigatório
str

O nome da coluna partition_timestamp (usado para ser chamado de coarse_grain_timestamp) (opcional). O padrão é None (limpo).

validate
Obrigatório

Indica se as colunas especificadas devem ser validadas no conjunto de dados. O padrão é False. A validação requer que a fonte de dados seja acessível a partir da computação atual.

Retornos

Tipo Description

Retorna um novo TabularDataset com colunas de carimbo de data/hora definidas.

Comentários

O método define as colunas a serem usadas como carimbos de data/hora. As colunas de carimbo de data/hora em um conjunto de dados possibilitam tratar os dados como dados de série temporal e habilitar funcionalidades adicionais. Quando um conjunto de dados tem timestamp (used to be referred as fine_grain_timestamp) e partition_timestamp (used to be referred as coarse grain timestamp) especificados, as duas colunas devem representar a mesma linha do tempo.

Atributos

timestamp_columns

Retorna as colunas de carimbo de data/hora.

Retornos

Tipo Description
(str, str)

Os nomes de coluna para carimbo de data/hora (anteriormente chamados de fine_grain_timestamp) e partition_timestamp (anteriormente chamados de coarse_grain_timestamp) definidos para o conjunto de dados.