Partilhar via


TabularDataset Classe

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

Um TabularDataset define uma série de operações imutáveis e avaliadas de forma preguiçosa para carregar dados da origem de dados para representação tabular. Os dados não são carregados a partir da origem até que tabularDataset seja solicitado a entregar dados.

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

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

Inicializar um objeto TabularDataset.

Este construtor não deve ser invocado diretamente. O conjunto de dados destina-se a ser criado com a TabularDatasetFactory classe.

Herança
TabularDataset

Construtor

TabularDataset()

Observações

Um TabularDataset pode ser criado a partir de CSV, TSV, ficheiros Parquet ou consulta SQL com os from_* métodos da TabularDatasetFactory classe. Pode realizar operações de subsetting num TabularDataset, como dividir, ignorar e filtrar registos. O resultado da subsetting é sempre um ou mais novos objetos TabularDataset.

Também pode converter um TabularDataset noutros formatos, como um DataFrame do pandas. O carregamento real de dados ocorre quando é pedido a TabularDataset que entregue os dados noutro mecanismo de armazenamento (por exemplo, um Dataframe do Pandas ou um ficheiro CSV).

TabularDataset pode ser utilizado como entrada de uma execução de experimentação. Também pode ser registado na área de trabalho com um nome especificado e ser obtido por esse nome mais tarde.

Métodos

download

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

Transfira fluxos de ficheiros definidos pelo conjunto de dados para o caminho local.

drop_columns

Largue as colunas especificadas do conjunto de dados.

Se uma coluna de série de tempo for removida, as capacidades correspondentes também serão removidas para o conjunto de dados devolvido.

filter

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

Filtre os dados, deixando apenas os registos que correspondem à expressão especificada.

get_profile

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

Obtenha o perfil de dados da execução de perfil mais recente submetida para este ou o mesmo conjunto de dados na área de trabalho.

get_profile_runs

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

Devolver execuções de perfis anteriores associadas a este ou ao mesmo conjunto de dados na área de trabalho.

keep_columns

Mantenha as colunas especificadas e deixe cair todas as outras do conjunto de dados.

Se uma coluna de série de tempo for removida, as capacidades correspondentes também serão removidas para o conjunto de dados devolvido.

mount

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

Crie um gestor de contexto para montar fluxos de ficheiros definidos pelo conjunto de dados como ficheiros locais.

partition_by

Os dados particionados serão copiados e serão exportados para o destino especificado pelo destino.

criar o conjunto de dados a partir do caminho de dados saída com o formato de partição, registar o conjunto de dados se for fornecido o nome, devolver 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

Divida os registos no conjunto de dados em duas partes aleatoriamente e aproximadamente pela percentagem especificada.

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

skip

Ignore os registos da parte superior do conjunto de dados pela contagem especificada.

submit_profile_run

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

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

Um perfil de dados pode ser muito útil para compreender os dados de entrada, identificar anomalias e valores em falta ao fornecer informações úteis sobre os dados, como o tipo de coluna, valores em falta, etc.

take

Recolha um exemplo de registos na parte superior do conjunto de dados pela contagem especificada.

take_sample

Recolha uma amostra aleatória de registos no conjunto de dados aproximadamente pela probabilidade especificada.

time_after

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

time_before

Filtre TabularDataset com colunas de carimbo de data/hora antes de uma hora de fim especificada.

time_between

Filtre TabularDataset entre uma hora de início e de fim especificada.

time_recent

Filtre TabularDataset para conter apenas a duração especificada (quantidade) de dados recentes.

to_csv_files

Converta o conjunto de dados atual num FileDataset com ficheiros CSV.

O conjunto de dados resultante irá conter um ou mais ficheiros CSV, cada um correspondente a uma partição de dados do conjunto de dados atual. Estes ficheiros não são materializados até serem transferidos ou lidos.

to_dask_dataframe

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

Devolva um Dask DataFrame que pode ler os dados de forma preguiçosa no conjunto de dados.

to_pandas_dataframe

Carregue todos os registos do conjunto de dados para um DataFrame pandas.

to_parquet_files

Converta o conjunto de dados atual num FileDataset que contenha ficheiros Parquet.

O conjunto de dados resultante irá conter um ou mais ficheiros Parquet, cada um correspondente a uma partição de dados do conjunto de dados atual. Estes ficheiros não são materializados até serem transferidos ou lidos.

to_spark_dataframe

Carregue todos os registos do conjunto de dados para um DataFrame do Spark.

with_timestamp_columns

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

download

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

Transfira fluxos de ficheiros definidos pelo conjunto de dados para o caminho local.

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

Parâmetros

Name Description
stream_column
Necessário
str

A coluna de transmissão em fluxo a transferir.

target_path
Necessário
str

O diretório local para o quais transferir os ficheiros. Se Nenhum, os dados serão transferidos para um diretório temporário.

overwrite
Necessário

Indica se deve substituir ficheiros existentes. A predefinição é Falso. Os ficheiros existentes serão substituídos se a substituição estiver definida como Verdadeiro; caso contrário, será gerada uma exceção.

ignore_not_found
Necessário

Indica se a transferência pós-falha se alguns ficheiros apontados por conjunto de dados não forem encontrados. A predefinição é Verdadeiro. A transferência falhará se alguma transferência de ficheiro falhar por algum motivo se ignore_not_found estiver definida como Falso; caso contrário, será registado um waring para erros não encontrados e o dowload será bem-sucedido, desde que não sejam encontrados outros tipos de erro.

Devoluções

Tipo Description

Devolve uma matriz de caminhos de ficheiro para cada ficheiro transferido.

drop_columns

Largue as colunas especificadas do conjunto de dados.

Se uma coluna de série de tempo for removida, as capacidades correspondentes também serão removidas para o conjunto de dados devolvido.

drop_columns(columns)

Parâmetros

Name Description
columns
Necessário

O nome ou uma lista de nomes para as colunas largarem.

Devoluções

Tipo Description

Devolve um novo objeto TabularDataset com as colunas especificadas removidas.

filter

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

Filtre os dados, deixando apenas os registos que correspondem à expressão especificada.

filter(expression)

Parâmetros

Name Description
expression
Necessário
any

A expressão a avaliar.

Devoluções

Tipo Description

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

Observações

As expressões são iniciadas ao indexar o Conjunto de Dados com o nome de uma coluna. Suportam uma variedade de funções e operadores e podem ser combinados com operadores lógicos. A expressão resultante será avaliada preguiçosamente para cada registo quando ocorrer uma solicitação de dados e não onde está definida.


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

get_profile

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

Obtenha o perfil de dados da execução de perfil mais recente submetida para este ou o mesmo conjunto de dados na área de trabalho.

get_profile(workspace=None)

Parâmetros

Name Description
workspace
Necessário

A área de trabalho onde a execução do perfil foi submetida. Predefinição para a área de trabalho deste conjunto de dados. Necessário se o conjunto de dados não estiver associado a uma área de trabalho. Veja https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace.workspace para obter mais informações sobre áreas de trabalho.

Devoluções

Tipo Description

Resultado do perfil da execução de perfil mais recente do tipo DatasetProfile.

get_profile_runs

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

Devolver execuções de perfis anteriores associadas a este ou ao mesmo conjunto de dados na área de trabalho.

get_profile_runs(workspace=None)

Parâmetros

Name Description
workspace
Necessário

A área de trabalho onde a execução do perfil foi submetida. Predefinição para a área de trabalho deste conjunto de dados. Necessário se o conjunto de dados não estiver associado a uma área de trabalho. Veja https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.workspace.workspace para obter mais informações sobre áreas de trabalho.

Devoluções

Tipo Description

objeto iterador do tipo azureml.core.Run.

keep_columns

Mantenha as colunas especificadas e deixe cair todas as outras do conjunto de dados.

Se uma coluna de série de tempo for removida, as capacidades correspondentes também serão removidas para o conjunto de dados devolvido.

keep_columns(columns, validate=False)

Parâmetros

Name Description
columns
Necessário

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

validate
Necessário

Indica se deve validar se os dados podem ser carregados a partir do conjunto de dados devolvido. A predefinição é Falso. A validação requer que a origem de dados esteja acessível a partir da computação atual.

Devoluções

Tipo Description

Devolve um novo objeto TabularDataset apenas com as colunas especificadas guardadas.

mount

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

Crie um gestor de contexto para montar fluxos de ficheiros definidos pelo conjunto de dados como ficheiros locais.

mount(stream_column, mount_point=None)

Parâmetros

Name Description
stream_column
Necessário
str

A coluna de fluxo a montar.

mount_point
Necessário
str

O diretório local para onde montar os ficheiros. Se Nenhum, os dados serão montados num diretório temporário, que pode encontrar ao chamar o método de instância MountContext.mount_point .

Devoluções

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

Devolve um gestor de contexto para gerir o ciclo de vida da montagem.

partition_by

Os dados particionados serão copiados e serão exportados para o destino especificado pelo destino.

criar o conjunto de dados a partir do caminho de dados saída com o formato de partição, registar o conjunto de dados se for fornecido o nome, devolver 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

Name Description
partition_keys
Necessário

Necessário, chaves de partição

target
Necessário

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

name
Necessário
str

Opcional: O nome do registo.

show_progress
Necessário

Opcional, indica se pretende mostrar o progresso do carregamento na consola. As predefinições são Verdadeiras.

partition_as_file_dataset
Necessário

Opcional, indica se devolve ou não um conjunto de dados arquivado. A predefinição é Falso.

Devoluções

Tipo Description

O conjunto de dados guardado ou registado.

random_split

Divida os registos no conjunto de dados em duas partes aleatoriamente e aproximadamente pela percentagem especificada.

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

random_split(percentage, seed=None)

Parâmetros

Name Description
percentage
Necessário

A percentagem aproximada pela qual dividir o conjunto de dados. Tem de ser um número entre 0,0 e 1,0.

seed
Necessário
int

Semente opcional a utilizar para o gerador aleatório.

Devoluções

Tipo Description

Devolve uma cadeia de identificação de novos objetos TabularDataset que representam os dois conjuntos de dados após a divisão.

skip

Ignore os registos da parte superior do conjunto de dados pela contagem especificada.

skip(count)

Parâmetros

Name Description
count
Necessário
int

O número de registos a ignorar.

Devoluções

Tipo Description

Devolve um novo objeto TabularDataset que representa um conjunto de dados com registos ignorados.

submit_profile_run

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

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

Um perfil de dados pode ser muito útil para compreender os dados de entrada, identificar anomalias e valores em falta ao fornecer informações úteis sobre os dados, como o tipo de coluna, valores em falta, etc.

submit_profile_run(compute_target, experiment, cache_datastore_name=None)

Parâmetros

Name Description
compute_target
Necessário

O destino de computação para executar a experimentação de cálculo do perfil. Especifique "local" para utilizar a computação local. Veja https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.computetarget para obter mais informações sobre destinos de computação.

experiment
Necessário

O objeto de experimentação. Veja https://docs.microsoft.com/en-us/python/api/azureml-core/azureml.core.experiment.experiment para obter mais informações sobre experimentações.

cache_datastore_name
Necessário
str

o nome do arquivo de dados para armazenar a cache de perfil, se Nenhum, será utilizado o arquivo de dados predefinido

Devoluções

Tipo Description

Um objeto do tipo DatasetProfileRun classe.

take

Recolha um exemplo de registos na parte superior do conjunto de dados pela contagem especificada.

take(count)

Parâmetros

Name Description
count
Necessário
int

O número de registos a ter.

Devoluções

Tipo Description

Devolve um novo objeto TabularDataset que representa o conjunto de dados de exemplo.

take_sample

Recolha uma amostra aleatória de registos no conjunto de dados aproximadamente pela probabilidade especificada.

take_sample(probability, seed=None)

Parâmetros

Name Description
probability
Necessário

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

seed
Necessário
int

Semente opcional a utilizar para o gerador aleatório.

Devoluções

Tipo Description

Devolve um novo objeto TabularDataset que representa o conjunto de dados de exemplo.

time_after

Filtre 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

Name Description
start_time
Necessário

O limite inferior para filtrar dados.

include_boundary
Necessário

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

validate
Necessário

Indica se deve validar se existem colunas especificadas no conjunto de dados. A predefinição é Verdadeiro. A validação requer que a origem de dados esteja acessível a partir da computação atual.

Devoluções

Tipo Description

Um TabularDataset com o novo conjunto de dados filtrado.

time_before

Filtre TabularDataset com colunas de carimbo de data/hora antes de uma hora de fim especificada.

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

Parâmetros

Name Description
end_time
Necessário

Limite superior para filtrar dados.

include_boundary
Necessário

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

validate
Necessário

Indica se deve validar se existem colunas especificadas no conjunto de dados. A predefinição é Verdadeiro. A validação requer que a origem de dados esteja acessível a partir da computação atual.

Devoluções

Tipo Description

Um TabularDataset com o novo conjunto de dados filtrado.

time_between

Filtre TabularDataset entre uma hora de início e de fim especificada.

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

Parâmetros

Name Description
start_time
Necessário

O limite Inferior para filtrar dados.

end_time
Necessário

O limite superior para filtrar dados.

include_boundary
Necessário

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

validate
Necessário

Indica se deve validar se existem colunas especificadas no conjunto de dados. A predefinição é Verdadeiro. A validação requer que a origem de dados esteja acessível a partir da computação atual.

Devoluções

Tipo Description

Um TabularDataset com o novo conjunto de dados filtrado.

time_recent

Filtre TabularDataset para conter apenas a duração especificada (quantidade) de dados recentes.

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

Parâmetros

Name Description
time_delta
Necessário

A duração (quantidade) de dados recentes a obter.

include_boundary
Necessário

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

validate
Necessário

Indica se deve validar se existem colunas especificadas no conjunto de dados. A predefinição é Verdadeiro. A validação requer que a origem de dados esteja acessível a partir da computação atual.

Devoluções

Tipo Description

Um TabularDataset com o novo conjunto de dados filtrado.

to_csv_files

Converta o conjunto de dados atual num FileDataset com ficheiros CSV.

O conjunto de dados resultante irá conter um ou mais ficheiros CSV, cada um correspondente a uma partição de dados do conjunto de dados atual. Estes ficheiros não são materializados até serem transferidos ou lidos.

to_csv_files(separator=',')

Parâmetros

Name Description
separator
Necessário
str

O separador a utilizar para separar valores no ficheiro resultante.

Devoluções

Tipo Description

Devolve um novo objeto FileDataset com um conjunto de ficheiros CSV que contém os dados neste conjunto de dados.

to_dask_dataframe

Nota

Este é um método experimental e pode ser alterado em qualquer altura. Para obter mais informações, veja https://aka.ms/azuremlexperimental.

Devolva um Dask DataFrame que pode ler os dados de forma preguiçosa no conjunto de dados.

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

Parâmetros

Name Description
sample_size
Necessário

O número de registos a ler para determinar o esquema e os tipos.

dtypes
Necessário

Um ditado opcional que especifica as colunas esperadas e os respetivos tipos. sample_size é ignorada se for fornecida.

on_error
Necessário

Como lidar com quaisquer valores de erro no conjunto de dados, como os produzidos por um erro ao analisar valores. Os valores válidos são "nulos" que os substitui por nulos; e "falha", o que resultará numa exceção.

out_of_range_datetime
Necessário

Como lidar com valores de data/hora que estão fora do intervalo suportado pelo Pandas. Os valores válidos são "nulos" que os substitui por nulos; e "falha", o que resultará numa exceção.

Devoluções

Tipo Description

dask.dataframe.core.DataFrame

to_pandas_dataframe

Carregue todos os registos do conjunto de dados para um DataFrame pandas.

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

Parâmetros

Name Description
on_error
Necessário

Como lidar com quaisquer valores de erro no conjunto de dados, como os produzidos por um erro ao analisar valores. Os valores válidos são "nulos" que os substitui por nulos; e "falha", o que resultará numa exceção.

out_of_range_datetime
Necessário

Como lidar com valores de data/hora que estão fora do intervalo suportado pelo Pandas. Os valores válidos são "nulos" que os substitui por nulos; e "falha", o que resultará numa exceção.

Devoluções

Tipo Description

Devolve um DataFrame do pandas.

to_parquet_files

Converta o conjunto de dados atual num FileDataset que contenha ficheiros Parquet.

O conjunto de dados resultante irá conter um ou mais ficheiros Parquet, cada um correspondente a uma partição de dados do conjunto de dados atual. Estes ficheiros não são materializados até serem transferidos ou lidos.

to_parquet_files()

Devoluções

Tipo Description

Devolve um novo objeto FileDataset com um conjunto de ficheiros Parquet que contém os dados neste conjunto de dados.

to_spark_dataframe

Carregue todos os registos do conjunto de dados para um DataFrame do Spark.

to_spark_dataframe()

Devoluções

Tipo Description

Devolve um DataFrame do Spark.

with_timestamp_columns

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

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

Parâmetros

Name Description
timestamp
Necessário
str

O nome da coluna como carimbo de data/hora (utilizado como fine_grain_timestamp) (opcional). A predefinição é Nenhum(claro).

partition_timestamp
Necessário
str

O nome da coluna partition_timestamp (utilizado como carimbo de data/hora de grão grosso) (opcional). A predefinição é Nenhum(claro).

validate
Necessário

Indica se deve validar se existem colunas especificadas no conjunto de dados. A predefinição é Falso. A validação requer que a origem de dados esteja acessível a partir da computação atual.

Devoluções

Tipo Description

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

Observações

O método define colunas a serem utilizadas como carimbos de data/hora. As colunas de carimbo de data/hora num conjunto de dados permitem tratar os dados como dados de série temporal e ativar capacidades adicionais. Quando um conjunto de dados tiver e timestamp (used to be referred as fine_grain_timestamp)partition_timestamp (used to be referred as coarse grain timestamp) especificado, as duas colunas devem representar a mesma linha cronológica.

Atributos

timestamp_columns

Devolva as colunas de carimbo de data/hora.

Devoluções

Tipo Description
(str, str)

Os nomes das colunas do carimbo de data/hora (utilizado como fine_grain_timestamp) e partition_timestamp (utilizado para ser referido como carimbo de data/hora de grão grosso) definidos para o conjunto de dados.