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

stream_column
str
Obrigatório

A coluna de fluxo a ser baixada.

target_path
str
Obrigatório

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
bool
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
bool
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

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

Tipo de retorno

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

columns
Union[str, list[str]]
Obrigatório

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

Retornos

Retorna um novo objeto TabularDataset com as colunas especificadas removidas.

Tipo de retorno

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

expression
any
Obrigatório

A expressão a ser avaliada.

Retornos

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

Tipo de retorno

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

workspace
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

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

Tipo de retorno

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

workspace
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

Objeto iterador do tipo azureml.core.Run.

Tipo de retorno

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

columns
Union[str, list[str]]
Obrigatório

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

validate
bool
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

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

Tipo de retorno

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

stream_column
str
Obrigatório

A coluna de fluxo a ser montada.

mount_point
str
Obrigatório

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

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

Tipo de retorno

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

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

partition_keys
list[str]
Obrigatório

Obrigatório, chaves de partição

target
DataPath, Datastore ou tuple(Datastore, str) object
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
str
Obrigatório

Opcional, o nome de registro.

show_progress
bool
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

O conjunto de dados salvo ou registrado.

Tipo de retorno

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

percentage
float
Obrigatório

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

seed
int
Obrigatório

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

Retornos

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

Tipo de retorno

skip

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

skip(count)

Parâmetros

count
int
Obrigatório

O número de registros a ser ignorados.

Retornos

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

Tipo de retorno

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

compute_target
Union[str, ComputeTarget]
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
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
str
Obrigatório

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

Um objeto do tipo de classe DatasetProfileRun.

Tipo de retorno

take

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

take(count)

Parâmetros

count
int
Obrigatório

O número de registros a serem obtidos.

Retornos

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

Tipo de retorno

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

probability
float
Obrigatório

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

seed
int
Obrigatório

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

Retornos

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

Tipo de retorno

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

start_time
datetime
Obrigatório

O limite inferior para filtrar dados.

include_boundary
bool
Obrigatório

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

validate
bool
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

Um TabularDataset com o novo conjunto de dados filtrado.

Tipo de retorno

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

end_time
datetime
Obrigatório

Limite superior para filtrar dados.

include_boundary
bool
Obrigatório

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

validate
bool
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

Um TabularDataset com o novo conjunto de dados filtrado.

Tipo de retorno

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

start_time
datetime
Obrigatório

O limite inferior para filtrar dados.

end_time
datetime
Obrigatório

O limite superior para filtrar dados.

include_boundary
bool
Obrigatório

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

validate
bool
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

Um TabularDataset com o novo conjunto de dados filtrado.

Tipo de retorno

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

time_delta
timedelta
Obrigatório

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

include_boundary
bool
Obrigatório

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

validate
bool
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

Um TabularDataset com o novo conjunto de dados filtrado.

Tipo de retorno

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

separator
str
Obrigatório

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

Retornos

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

Tipo de retorno

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

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

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

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

Retorna um dataframe do pandas.

Tipo de retorno

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

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

Tipo de retorno

to_spark_dataframe

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

to_spark_dataframe()

Retornos

Retorna um DataFrame do Spark.

Tipo de retorno

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

timestamp
str
Obrigatório

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
str
Obrigatório

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

validate
bool
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

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

Tipo de retorno

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

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.

Tipo de retorno

(str, str)