Datasets documentation
Classes de Tabela
Classes de Tabela
Cada objeto Dataset é suportado por uma Tabela PyArrow.
Uma Tabela pode ser carregada do disco (mapeada em memória) ou na memória.
Vários tipos de Tabela estão disponíveis, e todos herdam de table.Table.
Tabela
Envolve uma tabela pyarrow usando composição.
Esta é a classe base para InMemoryTable, MemoryMappedTable e ConcatenationTable.
Ele implementa todos os atributos/métodos básicos da classe Table do pyarrow, exceto as transformações de Table: slice, filter, flatten, combine_chunks, cast, add_column, append_column, remove_column, set_column, rename_columns e drop.
A implementação desses métodos difere para as subclasses.
validate
< source >( *args**kwargs )
Execute verificações de validação. Uma exceção é lançada se a validação falhar.
Por padrão, apenas verificações de validação de baixo custo são executadas. Passe full=True para verificações de validação completas (potencialmente O(n)).
equals
< source >( *args**kwargs ) → bool
Parâmetros
- other (Tabela) — Tabela para comparação.
- check_metadata
bool, padrãoFalse) — Se a igualdade dos metadados do esquema também deve ser verificada.
Retorna
bool
Verifique se o conteúdo de duas tabelas é igual.
to_batches
< source >( *args**kwargs )
Converte uma Tabela em uma lista de objetos RecordBatch (contíguos).
Converta a Table em um dict ou OrderedDict.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
Parâmetros
- memory_pool (
MemoryPool, padrãoNone) — Arrow MemoryPool a ser usado para alocações. Usa o pool de memória padrão se nenhum for passado. - strings_to_categorical (
bool, padrãoFalse) — Codifica tipos de string (UTF8) e binário parapandas.Categorical. - categories (
list, padrãoempty) — Lista de campos que devem ser retornados comopandas.Categorical. Aplica-se apenas a estruturas de dados tabulares. - zero_copy_only (
bool, padrãoFalse) — Lança umaArrowExceptionse esta chamada de função exigir a cópia dos dados subjacentes. - integer_object_nulls (
bool, padrãoFalse) — Converte inteiros com nulos em objetos. - date_as_object (
bool, padrãoTrue) — Converte datas em objetos. SeFalse, converte para o dtypedatetime64[ns]. - timestamp_as_object (
bool, padrãoFalse) — Converte timestamps que não estão em nanossegundos (np.datetime64) em objetos. Isso é útil se você tiver timestamps que não se encaixam no intervalo de datas normal de timestamps em nanossegundos (1678 d.C.-2262 d.C.). SeFalse, todos os timestamps são convertidos para o dtypedatetime64[ns]. - use_threads (
bool, padrãoTrue) — Se a conversão deve ser paralelizada usando múltiplas threads. - deduplicate_objects (
bool, padrãoFalse) — Não cria múltiplas cópias de objetos Python ao serem criados, para economizar uso de memória. A conversão será mais lenta. - ignore_metadata (
bool, padrãoFalse) — SeTrue, não usa os metadados do ‘pandas’ para reconstituir o índice do DataFrame, se presente. - safe (
bool, padrãoTrue) — Para certos tipos de dados, é necessário um cast para armazenar os dados em um DataFrame ou Series do pandas (por exemplo, timestamps são sempre armazenados como nanossegundos no pandas). Esta opção controla se o cast é seguro ou não. - split_blocks (
bool, padrãoFalse) — SeTrue, gera um “bloco” interno para cada coluna ao criar um pandas.DataFrame a partir de umRecordBatchouTable. Embora isso possa reduzir temporariamente a memória, observe que várias operações do pandas podem acionar a “consolidação”, o que pode aumentar drasticamente o uso de memória. - self_destruct (
bool, padrãoFalse) — EXPERIMENTAL: SeTrue, tenta desalocar a memória Arrow de origem ao converter o objeto Arrow para pandas. Se você usar o objeto após chamarto_pandascom esta opção, seu programa será interrompido. - types_mapper (
function, padrãoNone) — Uma função que mapeia um DataType do pyarrow para umExtensionDtypedo pandas. Isso pode ser usado para substituir o tipo padrão do pandas na conversão de tipos embutidos do pyarrow ou na ausência depandas_metadatano esquema da Tabela. A função recebe um DataType do pyarrow e é esperado que retorne umExtensionDtypedo pandas ouNonese a conversão padrão deve ser usada para aquele tipo. Se você tiver um dicionário de mapeamento, pode passardict.getcomo função.
Retorna
pandas.Series ou pandas.DataFrame
pandas.Series ou pandas.DataFrame, dependendo do tipo de objeto
Converta para um array NumPy ou um DataFrame compatível com pandas, conforme apropriado.
campo
< source >( *args**kwargs )
Selecione um campo do esquema pelo nome da coluna ou pelo índice numérico.
coluna
< source >( *args**kwargs )
Selecione uma coluna pelo nome da coluna ou pelo índice numérico.
Itera sobre todas as colunas em ordem numérica.
Esquema da tabela e de suas colunas.
Lista de todas as colunas em ordem numérica.
Número de colunas nesta tabela.
Número de linhas nesta tabela.
Devido à definição de uma tabela, todas as colunas têm o mesmo número de linhas.
Dimensões da tabela: (#linhas, #colunas).
Número total de bytes consumidos pelos elementos da tabela.
InMemoryTable
A tabela é considerada em memória quando é carregada na RAM do usuário.
Ao fazer o pickling, ele copia todos os dados usando memória. Sua implementação é simples e usa diretamente os métodos da classe Table do pyarrow subjacente.
Isso é diferente da tabela MemoryMapped, para a qual o pickling não copia todos os dados na memória. Para uma MemoryMapped, o unpickling recarrega a tabela do disco.
InMemoryTable deve ser usado quando os dados cabem na memória, enquanto MemoryMapped são reservados para dados maiores que a memória ou quando você deseja que a pegada de memória do seu aplicativo permaneça baixa.
validate
< source >( *args**kwargs )
Execute verificações de validação. Uma exceção é lançada se a validação falhar.
Por padrão, apenas verificações de validação de baixo custo são executadas. Passe full=True para verificações de validação completas (potencialmente O(n)).
equals
< source >( *args**kwargs ) → bool
Parâmetros
- other (Tabela) — Tabela para comparação.
- check_metadata
bool, padrãoFalse) — Se a igualdade dos metadados do esquema também deve ser verificada.
Retorna
bool
Verifique se o conteúdo de duas tabelas é igual.
to_batches
< source >( *args**kwargs )
Converte uma Tabela em uma lista de objetos RecordBatch (contíguos).
Converta a Table em um dict ou OrderedDict.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
Parâmetros
- memory_pool (
MemoryPool, padrãoNone) — Arrow MemoryPool a ser usado para alocações. Usa o pool de memória padrão se nenhum for passado. - strings_to_categorical (
bool, padrãoFalse) — Codifica tipos de string (UTF8) e binário parapandas.Categorical. - categories (
list, padrãoempty) — Lista de campos que devem ser retornados comopandas.Categorical. Aplica-se apenas a estruturas de dados tabulares. - zero_copy_only (
bool, padrãoFalse) — Lança umaArrowExceptionse esta chamada de função exigir a cópia dos dados subjacentes. - integer_object_nulls (
bool, padrãoFalse) — Converte inteiros com nulos em objetos. - date_as_object (
bool, padrãoTrue) — Converte datas em objetos. SeFalse, converte para o dtypedatetime64[ns]. - timestamp_as_object (
bool, padrãoFalse) — Converte timestamps que não estão em nanossegundos (np.datetime64) em objetos. Isso é útil se você tiver timestamps que não se encaixam no intervalo de datas normal de timestamps em nanossegundos (1678 d.C.-2262 d.C.). SeFalse, todos os timestamps são convertidos para o dtypedatetime64[ns]. - use_threads (
bool, padrãoTrue) — Se a conversão deve ser paralelizada usando múltiplas threads. - deduplicate_objects (
bool, padrãoFalse) — Não cria múltiplas cópias de objetos Python ao serem criados, para economizar uso de memória. A conversão será mais lenta. - ignore_metadata (
bool, padrãoFalse) — SeTrue, não usa os metadados do ‘pandas’ para reconstituir o índice do DataFrame, se presente. - safe (
bool, padrãoTrue) — Para certos tipos de dados, é necessário um cast para armazenar os dados em um DataFrame ou Series do pandas (por exemplo, timestamps são sempre armazenados como nanossegundos no pandas). Esta opção controla se o cast é seguro ou não. - split_blocks (
bool, padrãoFalse) — SeTrue, gera um “bloco” interno para cada coluna ao criar um pandas.DataFrame a partir de umRecordBatchouTable. Embora isso possa reduzir temporariamente a memória, observe que várias operações do pandas podem acionar a “consolidação”, o que pode aumentar drasticamente o uso de memória. - self_destruct (
bool, padrãoFalse) — EXPERIMENTAL: SeTrue, tenta desalocar a memória Arrow de origem ao converter o objeto Arrow para pandas. Se você usar o objeto após chamarto_pandascom esta opção, seu programa será interrompido. - types_mapper (
function, padrãoNone) — Uma função que mapeia um DataType do pyarrow para umExtensionDtypedo pandas. Isso pode ser usado para substituir o tipo padrão do pandas na conversão de tipos embutidos do pyarrow ou na ausência depandas_metadatano esquema da Tabela. A função recebe um DataType do pyarrow e é esperado que retorne umExtensionDtypedo pandas ouNonese a conversão padrão deve ser usada para aquele tipo. Se você tiver um dicionário de mapeamento, pode passardict.getcomo função.
Retorna
pandas.Series ou pandas.DataFrame
pandas.Series ou pandas.DataFrame, dependendo do tipo de objeto
Converta para um array NumPy ou um DataFrame compatível com pandas, conforme apropriado.
campo
< source >( *args**kwargs )
Selecione um campo do esquema pelo nome da coluna ou pelo índice numérico.
coluna
< source >( *args**kwargs )
Selecione uma coluna pelo nome da coluna ou pelo índice numérico.
Itera sobre todas as colunas em ordem numérica.
Esquema da tabela e de suas colunas.
Lista de todas as colunas em ordem numérica.
Número de colunas nesta tabela.
Número de linhas nesta tabela.
Devido à definição de uma tabela, todas as colunas têm o mesmo número de linhas.
Dimensões da tabela: (#linhas, #colunas).
Número total de bytes consumidos pelos elementos da tabela.
Nomes das colunas da tabela.
slice
< source >( offset = 0length = None )
Compute fatia sem cópia desta Table.
Selecione registros de uma Table. Consulte pyarrow.compute.filter para o uso completo.
flatten
< source >( *args**kwargs )
Achatar esta tabela. Cada coluna com tipo struct é achatada em uma coluna por campo do struct. As outras colunas permanecem inalteradas.
combine_chunks
< source >( *args**kwargs )
Crie uma nova tabela combinando os blocos desta tabela.
Todos os blocos subjacentes no ChunkedArray de cada coluna são concatenados em zero ou um bloco.
cast
< source >( *args**kwargs )
Converte valores de tabela para outro esquema.
replace_schema_metadata
< source >( *args**kwargs ) → datasets.table.Table
EXPERIMENTAL: Cria uma cópia rasa da tabela substituindo os metadados chave-valor do esquema pelos novos metadados indicados (que podem ser None, o que remove quaisquer metadados existentes).
add_column
< source >( *args**kwargs ) → datasets.table.Table
Parâmetros
- i (
int) — Índice para posicionar a coluna. - field_ (
Union[str, pyarrow.Field]) — Se uma string for passada, o tipo é deduzido a partir dos dados da coluna. - column (
Union[pyarrow.Array, List[pyarrow.Array]]) — Dados da coluna.
Retorna
datasets.table.Table
Nova tabela com a coluna passada adicionada.
Adicionar coluna à Tabela na posição.
Uma nova tabela é retornada com a coluna adicionada, o objeto de tabela original permanece inalterado.
append_column
< source >( *args**kwargs ) → datasets.table.Table
Adiciona a coluna no final das colunas.
remove_column
< source >( *args**kwargs ) → datasets.table.Table
Crie uma nova Table com a coluna indicada removida.
set_column
< source >( *args**kwargs ) → datasets.table.Table
Parâmetros
- i (
int) — Índice para posicionar a coluna. - field_ (
Union[str, pyarrow.Field]) — Se uma string for passada, o tipo é deduzido a partir dos dados da coluna. - column (
Union[pyarrow.Array, List[pyarrow.Array]]) — Dados da coluna.
Retorna
datasets.table.Table
Nova tabela com o conjunto de colunas passado.
Substituir coluna na Tabela na posição.
Crie uma nova tabela com as colunas renomeadas para os nomes fornecidos.
selecionar
< source >( *args**kwargs ) → datasets.table.Table
Selecione as colunas da tabela.
Retorna uma nova tabela com as colunas especificadas e metadados preservados.
drop
< source >( *args**kwargs ) → datasets.table.Table
Remova uma ou mais colunas e retorne uma nova tabela.
from_pandas
< source >( *args**kwargs ) → datasets.table.Table
Parâmetros
- df (
pandas.DataFrame) — - schema (
pyarrow.Schema, opcional) — O esquema esperado da Tabela Arrow. Isso pode ser usado para indicar o tipo das colunas caso não seja possível inferi-lo automaticamente. Se fornecido, a saída terá exatamente esse esquema. Colunas especificadas no esquema que não forem encontradas nas colunas do DataFrame ou em seu índice causarão um erro. Colunas adicionais ou níveis de índice no DataFrame que não forem especificados no esquema serão ignorados. - preserve_index (
bool, opcional) — Se deve armazenar o índice como uma coluna adicional naTableresultante. O padrão de None armazenará o índice como uma coluna, exceto para RangeIndex, que é armazenado apenas como metadados. Usepreserve_index=Truepara forçar que ele seja armazenado como uma coluna. - nthreads (
int, padrãoNone(pode usar até o número de CPUs do sistema)) — Se for maior que 1, converte as colunas para Arrow em paralelo usando o número indicado de threads. - columns (
List[str], opcional) — Lista de colunas a serem convertidas. SeNone, usa todas as colunas. - safe (
bool, padrãoTrue) — Verifica estouro de capacidade ou outras conversões inseguras,
Retorna
datasets.table.Table
Converte um pandas.DataFrame para uma Tabela Arrow.
Os tipos de coluna na Tabela Arrow resultante são inferidos a partir dos dtypes das pandas.Series no DataFrame. No caso de Series não-object, o dtype do NumPy é traduzido para seu equivalente no Arrow. No caso de object, precisamos inferir o tipo de dados examinando os objetos Python presentes nesta Series.
Observe que Series do dtype object não carregam informações suficientes para sempre levar a um tipo Arrow significativo. No caso em que não podemos inferir um tipo, por exemplo, porque o DataFrame tem comprimento 0 ou a Series contém apenas objetos None/nan, o tipo é definido como null. Esse comportamento pode ser evitado construindo um esquema explícito e passando-o para esta função.
from_arrays
< source >( *args**kwargs )
Parâmetros
- arrays (
List[Union[pyarrow.Array, pyarrow.ChunkedArray]]) — Arrays de comprimento igual que devem formar a tabela. - names (
List[str], opcional) — Nomes para as colunas da tabela. Se não for passado, o schema deve ser passado. - schema (
Schema, padrãoNone) — Esquema para a tabela criada. Se não for passado, os nomes devem ser passados. - metadata (
Union[dict, Mapping], padrãoNone) — Metadados opcionais para o esquema (se inferido).
Construa uma Tabela a partir de arrays Arrow.
from_pydict
< source >( *args**kwargs )
Construa uma Table a partir de arrays ou colunas Arrow.
from_batches
< source >( *args**kwargs ) → datasets.table.Table
Construa uma Table a partir de uma sequência ou iterador de RecordBatches do Arrow.
MemoryMappedTable
classe datasets.table.MemoryMappedTable
< source >( table: Tablepath: strreplays: typing.Optional[list[tuple[str, tuple, dict]]] = None )
A tabela é considerada mapeada em memória quando não utiliza a RAM do usuário, mas carrega os dados do disco.
Ao fazer o pickling, os dados não são copiados para a memória. Em vez disso, apenas o caminho para o arquivo arrow mapeado em memória é picklado, bem como a lista de transforms para “reproduzir” ao recarregar a tabela do disco.
Sua implementação requer armazenar um histórico de todas as transformações aplicadas à tabela pyarrow subjacente, para que possam ser “reexecutadas” ao recarregar a tabela do disco.
Isso é diferente da tabela InMemoryTable, para a qual o pickling copia todos os dados na memória.
InMemoryTable deve ser usado quando os dados cabem na memória, enquanto MemoryMapped são reservados para dados maiores que a memória ou quando você deseja que a pegada de memória do seu aplicativo permaneça baixa.
validate
< source >( *args**kwargs )
Execute verificações de validação. Uma exceção é lançada se a validação falhar.
Por padrão, apenas verificações de validação de baixo custo são executadas. Passe full=True para verificações de validação completas (potencialmente O(n)).
equals
< source >( *args**kwargs ) → bool
Parâmetros
- other (Tabela) — Tabela para comparação.
- check_metadata
bool, padrãoFalse) — Se a igualdade dos metadados do esquema também deve ser verificada.
Retorna
bool
Verifique se o conteúdo de duas tabelas é igual.
to_batches
< source >( *args**kwargs )
Converte uma Tabela em uma lista de objetos RecordBatch (contíguos).
Converta a Table em um dict ou OrderedDict.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
Parâmetros
- memory_pool (
MemoryPool, padrãoNone) — Arrow MemoryPool a ser usado para alocações. Usa o pool de memória padrão se nenhum for passado. - strings_to_categorical (
bool, padrãoFalse) — Codifica tipos de string (UTF8) e binário parapandas.Categorical. - categories (
list, padrãoempty) — Lista de campos que devem ser retornados comopandas.Categorical. Aplica-se apenas a estruturas de dados tabulares. - zero_copy_only (
bool, padrãoFalse) — Lança umaArrowExceptionse esta chamada de função exigir a cópia dos dados subjacentes. - integer_object_nulls (
bool, padrãoFalse) — Converte inteiros com nulos em objetos. - date_as_object (
bool, padrãoTrue) — Converte datas em objetos. SeFalse, converte para o dtypedatetime64[ns]. - timestamp_as_object (
bool, padrãoFalse) — Converte timestamps que não estão em nanossegundos (np.datetime64) em objetos. Isso é útil se você tiver timestamps que não se encaixam no intervalo de datas normal de timestamps em nanossegundos (1678 d.C.-2262 d.C.). SeFalse, todos os timestamps são convertidos para o dtypedatetime64[ns]. - use_threads (
bool, padrãoTrue) — Se a conversão deve ser paralelizada usando múltiplas threads. - deduplicate_objects (
bool, padrãoFalse) — Não cria múltiplas cópias de objetos Python ao serem criados, para economizar uso de memória. A conversão será mais lenta. - ignore_metadata (
bool, padrãoFalse) — SeTrue, não usa os metadados do ‘pandas’ para reconstituir o índice do DataFrame, se presente. - safe (
bool, padrãoTrue) — Para certos tipos de dados, é necessário um cast para armazenar os dados em um DataFrame ou Series do pandas (por exemplo, timestamps são sempre armazenados como nanossegundos no pandas). Esta opção controla se o cast é seguro ou não. - split_blocks (
bool, padrãoFalse) — SeTrue, gera um “bloco” interno para cada coluna ao criar um pandas.DataFrame a partir de umRecordBatchouTable. Embora isso possa reduzir temporariamente a memória, observe que várias operações do pandas podem acionar a “consolidação”, o que pode aumentar drasticamente o uso de memória. - self_destruct (
bool, padrãoFalse) — EXPERIMENTAL: SeTrue, tenta desalocar a memória Arrow de origem ao converter o objeto Arrow para pandas. Se você usar o objeto após chamarto_pandascom esta opção, seu programa será interrompido. - types_mapper (
function, padrãoNone) — Uma função que mapeia um DataType do pyarrow para umExtensionDtypedo pandas. Isso pode ser usado para substituir o tipo padrão do pandas na conversão de tipos embutidos do pyarrow ou na ausência depandas_metadatano esquema da Tabela. A função recebe um DataType do pyarrow e é esperado que retorne umExtensionDtypedo pandas ouNonese a conversão padrão deve ser usada para aquele tipo. Se você tiver um dicionário de mapeamento, pode passardict.getcomo função.
Retorna
pandas.Series ou pandas.DataFrame
pandas.Series ou pandas.DataFrame, dependendo do tipo de objeto
Converta para um array NumPy ou um DataFrame compatível com pandas, conforme apropriado.
campo
< source >( *args**kwargs )
Selecione um campo do esquema pelo nome da coluna ou pelo índice numérico.
coluna
< source >( *args**kwargs )
Selecione uma coluna pelo nome da coluna ou pelo índice numérico.
Itera sobre todas as colunas em ordem numérica.
Esquema da tabela e de suas colunas.
Lista de todas as colunas em ordem numérica.
Número de colunas nesta tabela.
Número de linhas nesta tabela.
Devido à definição de uma tabela, todas as colunas têm o mesmo número de linhas.
Dimensões da tabela: (#linhas, #colunas).
Número total de bytes consumidos pelos elementos da tabela.
Nomes das colunas da tabela.
slice
< source >( offset = 0length = None )
Compute fatia sem cópia desta Table.
Selecione registros de uma Table. Consulte pyarrow.compute.filter para o uso completo.
flatten
< source >( *args**kwargs )
Achatar esta tabela. Cada coluna com tipo struct é achatada em uma coluna por campo do struct. As outras colunas permanecem inalteradas.
combine_chunks
< source >( *args**kwargs )
Crie uma nova tabela combinando os blocos desta tabela.
Todos os blocos subjacentes no ChunkedArray de cada coluna são concatenados em zero ou um bloco.
cast
< source >( *args**kwargs )
Converter valores de tabela para outro esquema
replace_schema_metadata
< source >( *args**kwargs ) → datasets.table.Table
EXPERIMENTAL: Cria uma cópia rasa da tabela substituindo os metadados chave-valor do esquema pelos novos metadados indicados (que podem ser None, o que remove quaisquer metadados existentes.
add_column
< source >( *args**kwargs ) → datasets.table.Table
Parâmetros
- i (
int) — Índice para posicionar a coluna. - field_ (
Union[str, pyarrow.Field]) — Se uma string for passada, o tipo é deduzido a partir dos dados da coluna. - column (
Union[pyarrow.Array, List[pyarrow.Array]]) — Dados da coluna.
Retorna
datasets.table.Table
Nova tabela com a coluna passada adicionada.
Adicionar coluna à Tabela na posição.
Uma nova tabela é retornada com a coluna adicionada, o objeto de tabela original permanece inalterado.
append_column
< source >( *args**kwargs ) → datasets.table.Table
Adiciona a coluna no final das colunas.
remove_column
< source >( *args**kwargs ) → datasets.table.Table
Crie uma nova Table com a coluna indicada removida.
set_column
< source >( *args**kwargs ) → datasets.table.Table
Parâmetros
- i (
int) — Índice para posicionar a coluna. - field_ (
Union[str, pyarrow.Field]) — Se uma string for passada, o tipo é deduzido a partir dos dados da coluna. - column (
Union[pyarrow.Array, List[pyarrow.Array]]) — Dados da coluna.
Retorna
datasets.table.Table
Nova tabela com o conjunto de colunas passado.
Substituir coluna na Tabela na posição.
Crie uma nova tabela com as colunas renomeadas para os nomes fornecidos.
selecionar
< source >( *args**kwargs ) → datasets.table.Table
Selecione as colunas da tabela.
Retorna uma nova tabela com as colunas especificadas e metadados preservados.
drop
< source >( *args**kwargs ) → datasets.table.Table
Remova uma ou mais colunas e retorne uma nova tabela.
ConcatenationTable
A tabela é obtida pela concatenação de várias tabelas chamadas blocos. Ela permite a concatenação tanto no eixo 0 (adicionar linhas) quanto no eixo 1 (adicionar colunas).
As tabelas subjacentes são chamadas de “blocos” e podem ser objetos InMemoryTable ou MemoryMappedTable.
Isso permite combinar tabelas que vêm da memória ou que são mapeadas em memória.
Quando um ConcatenationTable é serializado com pickle, cada bloco é serializado:
- os objetos
InMemoryTablesão serializados copiando todos os dados na memória. - os objetos MemoryMappedTable são serializados com pickle sem copiar os dados para a memória. Em vez disso, apenas o caminho para o arquivo arrow mapeado em memória é serializado, bem como a lista de transforms para “reproduzir” ao recarregar a tabela do disco.
Sua implementação requer armazenar cada bloco separadamente.
O atributo blocks armazena uma lista de listas de blocos.
O primeiro eixo concatena as tabelas ao longo do eixo 0 (adiciona linhas),
enquanto o segundo eixo concatena as tabelas ao longo do eixo 1 (adiciona colunas).
Se algumas colunas estiverem ausentes ao concatenar no eixo 0, elas são preenchidas com valores nulos.
Isso é feito usando pyarrow.concat_tables(tables, promote=True).
Você pode acessar a tabela totalmente combinada acessando o atributo ConcatenationTable.table,
e os blocos acessando o atributo ConcatenationTable.blocks.
validate
< source >( *args**kwargs )
Execute verificações de validação. Uma exceção é lançada se a validação falhar.
Por padrão, apenas verificações de validação de baixo custo são executadas. Passe full=True para verificações de validação completas (potencialmente O(n)).
equals
< source >( *args**kwargs ) → bool
Parâmetros
- other (Tabela) — Tabela para comparação.
- check_metadata
bool, padrãoFalse) — Se a igualdade dos metadados do esquema também deve ser verificada.
Retorna
bool
Verifique se o conteúdo de duas tabelas é igual.
to_batches
< source >( *args**kwargs )
Converte uma Tabela em uma lista de objetos RecordBatch (contíguos).
Converta a Table em um dict ou OrderedDict.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
Parâmetros
- memory_pool (
MemoryPool, padrãoNone) — Arrow MemoryPool a ser usado para alocações. Usa o pool de memória padrão se nenhum for passado. - strings_to_categorical (
bool, padrãoFalse) — Codifica tipos de string (UTF8) e binário parapandas.Categorical. - categories (
list, padrãoempty) — Lista de campos que devem ser retornados comopandas.Categorical. Aplica-se apenas a estruturas de dados tabulares. - zero_copy_only (
bool, padrãoFalse) — Lança umaArrowExceptionse esta chamada de função exigir a cópia dos dados subjacentes. - integer_object_nulls (
bool, padrãoFalse) — Converte inteiros com nulos em objetos. - date_as_object (
bool, padrãoTrue) — Converte datas em objetos. SeFalse, converte para o dtypedatetime64[ns]. - timestamp_as_object (
bool, padrãoFalse) — Converte timestamps que não estão em nanossegundos (np.datetime64) em objetos. Isso é útil se você tiver timestamps que não se encaixam no intervalo de datas normal de timestamps em nanossegundos (1678 d.C.-2262 d.C.). SeFalse, todos os timestamps são convertidos para o dtypedatetime64[ns]. - use_threads (
bool, padrãoTrue) — Se a conversão deve ser paralelizada usando múltiplas threads. - deduplicate_objects (
bool, padrãoFalse) — Não cria múltiplas cópias de objetos Python ao serem criados, para economizar uso de memória. A conversão será mais lenta. - ignore_metadata (
bool, padrãoFalse) — SeTrue, não usa os metadados do ‘pandas’ para reconstituir o índice do DataFrame, se presente. - safe (
bool, padrãoTrue) — Para certos tipos de dados, é necessário um cast para armazenar os dados em um DataFrame ou Series do pandas (por exemplo, timestamps são sempre armazenados como nanossegundos no pandas). Esta opção controla se o cast é seguro ou não. - split_blocks (
bool, padrãoFalse) — SeTrue, gera um “bloco” interno para cada coluna ao criar um pandas.DataFrame a partir de umRecordBatchouTable. Embora isso possa reduzir temporariamente a memória, observe que várias operações do pandas podem acionar a “consolidação”, o que pode aumentar drasticamente o uso de memória. - self_destruct (
bool, padrãoFalse) — EXPERIMENTAL: SeTrue, tenta desalocar a memória Arrow de origem ao converter o objeto Arrow para pandas. Se você usar o objeto após chamarto_pandascom esta opção, seu programa será interrompido. - types_mapper (
function, padrãoNone) — Uma função que mapeia um DataType do pyarrow para umExtensionDtypedo pandas. Isso pode ser usado para substituir o tipo padrão do pandas na conversão de tipos embutidos do pyarrow ou na ausência depandas_metadatano esquema da Tabela. A função recebe um DataType do pyarrow e é esperado que retorne umExtensionDtypedo pandas ouNonese a conversão padrão deve ser usada para aquele tipo. Se você tiver um dicionário de mapeamento, pode passardict.getcomo função.
Retorna
pandas.Series ou pandas.DataFrame
pandas.Series ou pandas.DataFrame, dependendo do tipo de objeto
Converta para um array NumPy ou um DataFrame compatível com pandas, conforme apropriado.
campo
< source >( *args**kwargs )
Selecione um campo do esquema pelo nome da coluna ou pelo índice numérico.
coluna
< source >( *args**kwargs )
Selecione uma coluna pelo nome da coluna ou pelo índice numérico.
Itera sobre todas as colunas em ordem numérica.
Esquema da tabela e de suas colunas.
Lista de todas as colunas em ordem numérica.
Número de colunas nesta tabela.
Número de linhas nesta tabela.
Devido à definição de uma tabela, todas as colunas têm o mesmo número de linhas.
Dimensões da tabela: (#linhas, #colunas).
Número total de bytes consumidos pelos elementos da tabela.
Nomes das colunas da tabela.
slice
< source >( offset = 0length = None )
Compute fatia sem cópia desta Table.
Selecione registros de uma Table. Consulte pyarrow.compute.filter para o uso completo.
flatten
< source >( *args**kwargs )
Achatar esta tabela. Cada coluna com tipo struct é achatada em uma coluna por campo do struct. As outras colunas permanecem inalteradas.
combine_chunks
< source >( *args**kwargs )
Crie uma nova tabela combinando os blocos desta tabela.
Todos os blocos subjacentes no ChunkedArray de cada coluna são concatenados em zero ou um bloco.
cast
< source >( target_schema*args**kwargs )
Converte valores de tabela para outro esquema.
replace_schema_metadata
< source >( *args**kwargs ) → datasets.table.Table
EXPERIMENTAL: Cria uma cópia rasa da tabela substituindo os metadados chave-valor do esquema pelos novos metadados indicados (que podem ser None, o que remove quaisquer metadados existentes).
add_column
< source >( *args**kwargs ) → datasets.table.Table
Parâmetros
- i (
int) — Índice para posicionar a coluna. - field_ (
Union[str, pyarrow.Field]) — Se uma string for passada, o tipo é deduzido a partir dos dados da coluna. - column (
Union[pyarrow.Array, List[pyarrow.Array]]) — Dados da coluna.
Retorna
datasets.table.Table
Nova tabela com a coluna passada adicionada.
Adicionar coluna à Tabela na posição.
Uma nova tabela é retornada com a coluna adicionada, o objeto de tabela original permanece inalterado.
append_column
< source >( *args**kwargs ) → datasets.table.Table
Adiciona a coluna no final das colunas.
remove_column
< source >( i*args**kwargs ) → datasets.table.Table
Crie uma nova Table com a coluna indicada removida.
set_column
< source >( *args**kwargs ) → datasets.table.Table
Parâmetros
- i (
int) — Índice para posicionar a coluna. - field_ (
Union[str, pyarrow.Field]) — Se uma string for passada, o tipo é deduzido a partir dos dados da coluna. - column (
Union[pyarrow.Array, List[pyarrow.Array]]) — Dados da coluna.
Retorna
datasets.table.Table
Nova tabela com o conjunto de colunas passado.
Substituir coluna na Tabela na posição.
Crie uma nova tabela com as colunas renomeadas para os nomes fornecidos.
selecionar
< source >( columns*args**kwargs ) → datasets.table.Table
Selecione as colunas da tabela.
Retorna uma nova tabela com as colunas especificadas e metadados preservados.
drop
< source >( columns*args**kwargs ) → datasets.table.Table
Remova uma ou mais colunas e retorne uma nova tabela.
from_tables
< source >( tables: listaxis: int = 0 )
Crie ConcatenationTable a partir de uma lista de tabelas.
Utilitários
datasets.table.concat_tables
< source >( tables: listaxis: int = 0 ) → datasets.table.Table
Parâmetros
- tables (lista de
Table) — Lista de tabelas a serem concatenadas. - axis (
{0, 1}, padrão é0, o que significa ao longo das linhas) — Eixo de concatenação, onde0significa ao longo das linhas (verticalmente) e1significa ao longo das colunas (horizontalmente).Adicionado na 1.6.0
Retorna
datasets.table.Table
Se o número de tabelas de entrada for > 1, a tabela retornada será uma datasets.table.ConcatenationTable.
Caso contrário, se houver apenas uma tabela, ela é retornada como está.
Concatene tabelas.
datasets.table.list_table_cache_files
< source >( table: Table ) → List[str]
Retorna
List[str]
Uma lista de caminhos para os arquivos de cache carregados pela tabela.
Obtenha os arquivos de cache carregados pela tabela. Os arquivos de cache são usados quando partes da tabela vêm do disco por meio de mapeamento de memória.