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

stream_column
str
Necessário

A coluna de transmissão em fluxo a transferir.

target_path
str
Necessário

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

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

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

Tipo de retorno

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

columns
Union[str, list[str]]
Necessário

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

Devoluções

Devolve um novo objeto TabularDataset com as colunas especificadas removidas.

Tipo de retorno

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

expression
any
Necessário

A expressão a avaliar.

Devoluções

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

Tipo de retorno

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

workspace
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

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

Tipo de retorno

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

workspace
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

objeto iterador do tipo azureml.core.Run.

Tipo de retorno

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

columns
Union[str, list[str]]
Necessário

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

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

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

Tipo de retorno

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

stream_column
str
Necessário

A coluna de fluxo a montar.

mount_point
str
Necessário

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

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

Tipo de retorno

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

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

partition_keys
list[str]
Necessário

Necessário, chaves de partição

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

Opcional: O nome do registo.

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

O conjunto de dados guardado ou registado.

Tipo de retorno

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

percentage
float
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
int
Necessário

Semente opcional a utilizar para o gerador aleatório.

Devoluções

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

Tipo de retorno

skip

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

skip(count)

Parâmetros

count
int
Necessário

O número de registos a ignorar.

Devoluções

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

Tipo de retorno

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

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

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

Devoluções

Um objeto do tipo DatasetProfileRun classe.

Tipo de retorno

take

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

take(count)

Parâmetros

count
int
Necessário

O número de registos a ter.

Devoluções

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

Tipo de retorno

take_sample

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

take_sample(probability, seed=None)

Parâmetros

probability
float
Necessário

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

seed
int
Necessário

Semente opcional a utilizar para o gerador aleatório.

Devoluções

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

Tipo de retorno

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

start_time
datetime
Necessário

O limite inferior para filtrar dados.

include_boundary
bool
Necessário

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

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

Um TabularDataset com o novo conjunto de dados filtrado.

Tipo de retorno

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

end_time
datetime
Necessário

Limite superior para filtrar dados.

include_boundary
bool
Necessário

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

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

Um TabularDataset com o novo conjunto de dados filtrado.

Tipo de retorno

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

start_time
datetime
Necessário

O limite Inferior para filtrar dados.

end_time
datetime
Necessário

O limite superior para filtrar dados.

include_boundary
bool
Necessário

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

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

Um TabularDataset com o novo conjunto de dados filtrado.

Tipo de retorno

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

time_delta
timedelta
Necessário

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

include_boundary
bool
Necessário

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

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

Um TabularDataset com o novo conjunto de dados filtrado.

Tipo de retorno

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

separator
str
Necessário

O separador a utilizar para separar valores no ficheiro resultante.

Devoluções

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

Tipo de retorno

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

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

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

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

Devolve um DataFrame do pandas.

Tipo de retorno

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

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

Tipo de retorno

to_spark_dataframe

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

to_spark_dataframe()

Devoluções

Devolve um DataFrame do Spark.

Tipo de retorno

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

timestamp
str
Necessário

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

partition_timestamp
str
Necessário

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

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

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

Tipo de retorno

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

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.

Tipo de retorno

(str, str)