# Classes de Tabela

Cada objeto `Dataset` é suportado por uma Tabela PyArrow. Uma Tabela pode ser carregada do disco (mapeada em memória) ou em memória. Vários tipos de Tabela estão disponíveis, e todos herdam de [table.Table](/docs/datasets/main/pt/package_reference/table_classes#datasets.table.Table).

## Tabela[[datasets.table.Table]]

#### datasets.table.Table[[datasets.table.Table]]

```python
datasets.table.Table(table: Table)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L210)

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[[datasets.table.Table.validate]]

```python
validate(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L235)

**Parâmetros:**

full (`bool`, padrão `False`) : Se `True`, executa verificações caras; caso contrário, executa apenas verificações baratas.

**Exceções:** ``pa.lib.ArrowInvalid``

- ``pa.lib.ArrowInvalid`` -- se a validação falhar

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[[datasets.table.Table.equals]]

```python
equals(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L251)

**Parâmetros:**

other ([Tabela](/docs/datasets/main/pt/package_reference/table_classes#datasets.table.Table)) : Tabela para comparação.

check_metadata `bool`, padrão `False`) : 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[[datasets.table.Table.to_batches]]

```python
to_batches(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L268)

**Parâmetros:**

max_chunksize (`int`, padrão `None`) : Tamanho máximo para os blocos de `RecordBatch`. Os blocos individuais podem ser menores, dependendo do layout dos blocos das colunas individuais.

**Retorna:**

`List[pyarrow.RecordBatch]`

Converte uma Tabela em uma lista de objetos `RecordBatch` (contíguos).

#### to_pydict[[datasets.table.Table.to_pydict]]

```python
to_pydict(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L282)

**Retorna:** `dict`

Converta a Table em um `dict` ou `OrderedDict`.

#### to_pandas[[datasets.table.Table.to_pandas]]

```python
to_pandas(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L300)

**Parâmetros:**

memory_pool (`MemoryPool`, padrão `None`) : MemoryPool do Arrow a ser usado para alocações. Usa o pool de memória padrão se nenhum for passado.

strings_to_categorical (`bool`, padrão `False`) : Codifica tipos de string (UTF8) e binário para `pandas.Categorical`.

categories (`list`, padrão `empty`) : Lista de campos que devem ser retornados como `pandas.Categorical`. Aplica-se apenas a estruturas de dados semelhantes a tabelas.

zero_copy_only (`bool`, padrão `False`) : Lança uma `ArrowException` se esta chamada de função exigir a cópia dos dados subjacentes.

integer_object_nulls (`bool`, padrão `False`) : Converte inteiros com nulos em objetos.

date_as_object (`bool`, padrão `True`) : Converte datas para objetos. Se `False`, converte para o tipo `datetime64[ns]`.

timestamp_as_object (`bool`, padrão `False`) : Converte timestamps que não estão em nanossegundos (`np.datetime64`) para objetos. Isso é útil se você tiver timestamps que não se encaixam no intervalo normal de datas de timestamps em nanossegundos (1678 d.C.-2262 d.C.). Se `False`, todos os timestamps são convertidos para o dtype `datetime64[ns]`.

use_threads (`bool`, padrão `True`) : Se a conversão deve ser paralelizada usando múltiplas threads.

deduplicate_objects (`bool`, padrão `False`) : 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ão `False`) : Se `True`, não usa os metadados do 'pandas' para reconstruir o índice do DataFrame, se presente.

safe (`bool`, padrão `True`) : 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ão `False`) : Se `True`, gera um "bloco" interno para cada coluna ao criar um pandas.DataFrame a partir de um `RecordBatch` ou `Table`. 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ão `False`) : EXPERIMENTAL: Se `True`, tenta desalocar a memória Arrow de origem ao converter o objeto Arrow para pandas. Se você usar o objeto após chamar `to_pandas` com esta opção, o seu programa será interrompido.

types_mapper (`function`, padrão `None`) : Uma função que mapeia um DataType do pyarrow para um `ExtensionDtype` do pandas. Isso pode ser usado para substituir o tipo padrão do pandas para a conversão de tipos embutidos do pyarrow ou na ausência de `pandas_metadata` no esquema da Tabela. A função recebe um DataType do pyarrow e é esperado que retorne um `ExtensionDtype` do pandas ou `None` se a conversão padrão deve ser usada para aquele tipo. Se você tiver um dicionário de mapeamento, pode passar `dict.get` como 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.

#### to_string[[datasets.table.Table.to_string]]

```python
to_string(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L362)

#### campo[[datasets.table.Table.field]]

```python
field(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L381)

**Parâmetros:**

i (`Union[int, str]`) : O índice ou o nome do campo a ser recuperado.

**Retorna:**

`pyarrow.Field`

Selecione um campo do esquema pelo nome da coluna ou pelo índice numérico.

#### coluna[[datasets.table.Table.column]]

```python
column(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L394)

**Parâmetros:**

i (`Union[int, str]`) : O índice ou o nome da coluna a ser recuperada.

**Retorna:**

`pyarrow.ChunkedArray`

Selecione uma coluna pelo nome da coluna ou pelo índice numérico.

#### itercolumns[[datasets.table.Table.itercolumns]]

```python
itercolumns(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L407)

**Retorna:**

`pyarrow.ChunkedArray`

Itera sobre todas as colunas em ordem numérica.

#### schema[[datasets.table.Table.schema]]

```python
schema()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L416)

**Retorna:**

`pyarrow.Schema`

Esquema da tabela e de suas colunas.

#### colunas[[datasets.table.Table.columns]]

```python
columns()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L426)

**Retorna:**

`List[pa.ChunkedArray]`

Lista de todas as colunas em ordem numérica.

#### num_columns[[datasets.table.Table.num_columns]]

```python
num_columns()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L436)

**Retorna:**

int

Número de colunas nesta tabela.

#### num_rows[[datasets.table.Table.num_rows]]

```python
num_rows()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L446)

**Retorna:**

int

Número de linhas nesta tabela.

Devido à definição de uma tabela, todas as colunas têm o mesmo número de linhas.

#### shape[[datasets.table.Table.shape]]

```python
shape()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L459)

**Retorna:** `(int, int)`

Número de linhas e número de colunas.

Dimensões da tabela: (#linhas, #colunas).

#### nbytes[[datasets.table.Table.nbytes]]

```python
nbytes()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L469)

Número total de bytes consumidos pelos elementos da tabela.

## InMemoryTable[[datasets.table.InMemoryTable]]

#### datasets.table.InMemoryTable[[datasets.table.InMemoryTable]]

```python
datasets.table.InMemoryTable(table: Table)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L695)

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[[datasets.table.InMemoryTable.validate]]

```python
validate(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L235)

**Parâmetros:**

full (`bool`, padrão `False`) : Se `True`, executa verificações caras; caso contrário, executa apenas verificações baratas.

**Exceções:** ``pa.lib.ArrowInvalid``

- ``pa.lib.ArrowInvalid`` -- se a validação falhar

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[[datasets.table.InMemoryTable.equals]]

```python
equals(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L251)

**Parâmetros:**

other ([Tabela](/docs/datasets/main/pt/package_reference/table_classes#datasets.table.Table)) : Tabela para comparação.

check_metadata `bool`, padrão `False`) : 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[[datasets.table.InMemoryTable.to_batches]]

```python
to_batches(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L268)

**Parâmetros:**

max_chunksize (`int`, padrão `None`) : Tamanho máximo para os blocos de `RecordBatch`. Os blocos individuais podem ser menores, dependendo do layout dos blocos das colunas individuais.

**Retorna:**

`List[pyarrow.RecordBatch]`

Converte uma Tabela em uma lista de objetos `RecordBatch` (contíguos).

#### to_pydict[[datasets.table.InMemoryTable.to_pydict]]

```python
to_pydict(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L282)

**Retorna:** `dict`

Converta a Table em um `dict` ou `OrderedDict`.

#### to_pandas[[datasets.table.InMemoryTable.to_pandas]]

```python
to_pandas(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L300)

**Parâmetros:**

memory_pool (`MemoryPool`, padrão `None`) : MemoryPool do Arrow a ser usado para alocações. Usa o pool de memória padrão se nenhum for passado.

strings_to_categorical (`bool`, padrão `False`) : Codifica tipos de string (UTF8) e binário para `pandas.Categorical`.

categories (`list`, padrão `empty`) : Lista de campos que devem ser retornados como `pandas.Categorical`. Aplica-se apenas a estruturas de dados semelhantes a tabelas.

zero_copy_only (`bool`, padrão `False`) : Lança uma `ArrowException` se esta chamada de função exigir a cópia dos dados subjacentes.

integer_object_nulls (`bool`, padrão `False`) : Converte inteiros com nulos em objetos.

date_as_object (`bool`, padrão `True`) : Converte datas para objetos. Se `False`, converte para o tipo `datetime64[ns]`.

timestamp_as_object (`bool`, padrão `False`) : Converte timestamps que não estão em nanossegundos (`np.datetime64`) para objetos. Isso é útil se você tiver timestamps que não se encaixam no intervalo normal de datas de timestamps em nanossegundos (1678 d.C.-2262 d.C.). Se `False`, todos os timestamps são convertidos para o dtype `datetime64[ns]`.

use_threads (`bool`, padrão `True`) : Se a conversão deve ser paralelizada usando múltiplas threads.

deduplicate_objects (`bool`, padrão `False`) : 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ão `False`) : Se `True`, não usa os metadados do 'pandas' para reconstruir o índice do DataFrame, se presente.

safe (`bool`, padrão `True`) : 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ão `False`) : Se `True`, gera um "bloco" interno para cada coluna ao criar um pandas.DataFrame a partir de um `RecordBatch` ou `Table`. 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ão `False`) : EXPERIMENTAL: Se `True`, tenta desalocar a memória Arrow de origem ao converter o objeto Arrow para pandas. Se você usar o objeto após chamar `to_pandas` com esta opção, o seu programa será interrompido.

types_mapper (`function`, padrão `None`) : Uma função que mapeia um DataType do pyarrow para um `ExtensionDtype` do pandas. Isso pode ser usado para substituir o tipo padrão do pandas para a conversão de tipos embutidos do pyarrow ou na ausência de `pandas_metadata` no esquema da Tabela. A função recebe um DataType do pyarrow e é esperado que retorne um `ExtensionDtype` do pandas ou `None` se a conversão padrão deve ser usada para aquele tipo. Se você tiver um dicionário de mapeamento, pode passar `dict.get` como 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.

#### to_string[[datasets.table.InMemoryTable.to_string]]

```python
to_string(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L362)

#### campo[[datasets.table.InMemoryTable.field]]

```python
field(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L381)

**Parâmetros:**

i (`Union[int, str]`) : O índice ou o nome do campo a ser recuperado.

**Retorna:**

`pyarrow.Field`

Selecione um campo do esquema pelo nome da coluna ou pelo índice numérico.

#### coluna[[datasets.table.InMemoryTable.column]]

```python
column(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L394)

**Parâmetros:**

i (`Union[int, str]`) : O índice ou o nome da coluna a ser recuperada.

**Retorna:**

`pyarrow.ChunkedArray`

Selecione uma coluna pelo nome da coluna ou pelo índice numérico.

#### itercolumns[[datasets.table.InMemoryTable.itercolumns]]

```python
itercolumns(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L407)

**Retorna:**

`pyarrow.ChunkedArray`

Itera sobre todas as colunas em ordem numérica.

#### schema[[datasets.table.InMemoryTable.schema]]

```python
schema()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L416)

**Retorna:**

`pyarrow.Schema`

Esquema da tabela e de suas colunas.

#### colunas[[datasets.table.InMemoryTable.columns]]

```python
columns()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L426)

**Retorna:**

`List[pa.ChunkedArray]`

Lista de todas as colunas em ordem numérica.

#### num_columns[[datasets.table.InMemoryTable.num_columns]]

```python
num_columns()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L436)

**Retorna:**

int

Número de colunas nesta tabela.

#### num_rows[[datasets.table.InMemoryTable.num_rows]]

```python
num_rows()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L446)

**Retorna:**

int

Número de linhas nesta tabela.

Devido à definição de uma tabela, todas as colunas têm o mesmo número de linhas.

#### shape[[datasets.table.InMemoryTable.shape]]

```python
shape()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L459)

**Retorna:** `(int, int)`

Número de linhas e número de colunas.

Dimensões da tabela: (#linhas, #colunas).

#### nbytes[[datasets.table.InMemoryTable.nbytes]]

```python
nbytes()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L469)

Número total de bytes consumidos pelos elementos da tabela.

#### column_names[[datasets.table.InMemoryTable.column_names]]

```python
column_names()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L476)

Nomes das colunas da tabela.

#### slice[[datasets.table.InMemoryTable.slice]]

```python
slice(offset = 0, length = None)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L859)

**Parâmetros:**

offset (`int`, padrão `0`) : Deslocamento a partir do início da tabela para o recorte.

length (`int`, padrão `None`) : Comprimento do segmento (o padrão é até o final da tabela, a partir do deslocamento).

**Retorna:**

`datasets.table.Table`

Compute fatia sem cópia desta Table.

#### filtro[[datasets.table.InMemoryTable.filter]]

```python
filter(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L876)

Selecione registros de uma Table. Consulte `pyarrow.compute.filter` para o uso completo.

#### flatten[[datasets.table.InMemoryTable.flatten]]

```python
flatten(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L882)

**Parâmetros:**

memory_pool (`MemoryPool`, padrão `None`) : Para alocações de memória, se necessário; caso contrário, usa o pool padrão.

**Retorna:**

`datasets.table.Table`

Achatar esta tabela. Cada coluna com tipo struct é achatada em uma coluna por campo do struct. As outras colunas permanecem inalteradas.

#### combine_chunks[[datasets.table.InMemoryTable.combine_chunks]]

```python
combine_chunks(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L896)

**Parâmetros:**

memory_pool (`MemoryPool`, padrão `None`) : Para alocações de memória, se necessário; caso contrário, usa o pool padrão.

**Retorna:**

`datasets.table.Table`

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[[datasets.table.InMemoryTable.cast]]

```python
cast(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L912)

**Parâmetros:**

target_schema (`Schema`) : Esquema para o qual será feito o cast; os nomes e a ordem dos campos devem corresponder.

safe (`bool`, padrão `True`) : Verifica se há estouro de capacidade ou outras conversões inseguras.

**Retorna:**

`datasets.table.Table`

Converte valores de tabela para outro esquema.

#### replace_schema_metadata[[datasets.table.InMemoryTable.replace_schema_metadata]]

```python
replace_schema_metadata(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L927)

**Parâmetros:**

metadata (`dict`, padrão é `None`) --

**Retorna:** `datasets.table.Table`

shallow_copy

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[[datasets.table.InMemoryTable.add_column]]

```python
add_column(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L941)

**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, e o objeto de tabela original permanece inalterado.

#### append_column[[datasets.table.InMemoryTable.append_column]]

```python
append_column(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L962)

**Parâmetros:**

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.

Adiciona a coluna no final das colunas.

#### remove_column[[datasets.table.InMemoryTable.remove_column]]

```python
remove_column(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L979)

**Parâmetros:**

i (`int`) : Índice da coluna a ser removida.

**Retorna:** `datasets.table.Table`

Nova tabela sem a coluna.

Crie uma nova Table com a coluna indicada removida.

#### set_column[[datasets.table.InMemoryTable.set_column]]

```python
set_column(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L993)

**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.

#### rename_columns[[datasets.table.InMemoryTable.rename_columns]]

```python
rename_columns(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1012)

Crie uma nova tabela com as colunas renomeadas para os nomes fornecidos.

#### selecionar[[datasets.table.InMemoryTable.select]]

```python
select(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1035)

**Parâmetros:**

columns (`Union[List[str], List[int]]`) : Os nomes das colunas ou os índices inteiros a serem selecionados.

**Retorna:** [datasets.table.Table](/docs/datasets/main/pt/package_reference/table_classes#datasets.table.Table)

Nova tabela com as colunas especificadas e metadados preservados.

Selecione as colunas da tabela.

Retorna uma nova tabela com as colunas especificadas e metadados preservados.

#### drop[[datasets.table.InMemoryTable.drop]]

```python
drop(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1018)

**Parâmetros:**

columns (`List[str]`) : Lista de nomes de campos que fazem referência a colunas existentes.

**Retorna:** `datasets.table.Table`

Nova tabela sem as colunas.

**Exceções:** ``KeyError``

- ``KeyError`` -- : se algum dos nomes de colunas passados não existir.

Remova uma ou mais colunas e retorne uma nova tabela.

#### from_file[[datasets.table.InMemoryTable.from_file]]

```python
from_file(filename: str)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L719)

#### from_buffer[[datasets.table.InMemoryTable.from_buffer]]

```python
from_buffer(buffer: Buffer)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L724)

#### from_pandas[[datasets.table.InMemoryTable.from_pandas]]

```python
from_pandas(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L729)

**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 na `Table` resultante. O padrão de None armazenará o índice como uma coluna, exceto para RangeIndex, que é armazenado apenas como metadados. Use `preserve_index=True` para forçar que ele seja armazenado como uma coluna.

nthreads (`int`, padrão `None` (pode usar até o número de threads da CPU 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. Se `None`, usa todas as colunas.

safe (`bool`, padrão `True`) : Verifica se há 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.

Exemplos:
```python
>>> import pandas as pd
>>> import pyarrow as pa
>>> df = pd.DataFrame({
    ...     'int': [1, 2],
    ...     'str': ['a', 'b']
    ... })
>>> pa.Table.from_pandas(df)
<pyarrow.lib.Table object at 0x7f05d1fb1b40>
```

#### from_arrays[[datasets.table.InMemoryTable.from_arrays]]

```python
from_arrays(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L787)

**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ão `None`) : Schema para a tabela criada. Se não for passado, os nomes devem ser passados.

metadata (`Union[dict, Mapping]`, padrão `None`) : Metadados opcionais para o esquema (se inferido).

**Retorna:**

`datasets.table.Table`

Construa uma Tabela a partir de arrays Arrow.

#### from_pydict[[datasets.table.InMemoryTable.from_pydict]]

```python
from_pydict(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L807)

**Parâmetros:**

mapping (`Union[dict, Mapping]`) : Um mapeamento de strings para Arrays ou listas Python.

schema (`Schema`, padrão `None`) : Se não for passado, será inferido a partir dos valores do Mapping

metadata (`Union[dict, Mapping]`, padrão `None`) : Metadados opcionais para o esquema (se inferido).

**Retorna:**

`datasets.table.Table`

Construa uma Table a partir de arrays ou colunas Arrow.

#### from_batches[[datasets.table.InMemoryTable.from_batches]]

```python
from_batches(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L843)

**Parâmetros:**

batches (`Union[Sequence[pyarrow.RecordBatch], Iterator[pyarrow.RecordBatch]]`) : Sequência de `RecordBatch` a ser convertida; todos os esquemas devem ser iguais.

schema (`Schema`, padrão `None`) : Se não for passado, será inferido a partir do primeiro `RecordBatch`.

**Retorna:** `datasets.table.Table`

Construa uma Table a partir de uma sequência ou iterador de `RecordBatches` do Arrow.

## MemoryMappedTable[[datasets.table.MemoryMappedTable]]

#### datasets.table.MemoryMappedTable[[datasets.table.MemoryMappedTable]]

```python
datasets.table.MemoryMappedTable(table: Table, path: str, replays: typing.Optional[list[tuple[str, tuple, dict]]] = None)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1055)

A tabela é considerada mapeada em memória quando não utiliza a RAM do usuário, mas carrega os dados diretamente 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[[datasets.table.MemoryMappedTable.validate]]

```python
validate(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L235)

**Parâmetros:**

full (`bool`, padrão `False`) : Se `True`, executa verificações caras; caso contrário, executa apenas verificações baratas.

**Exceções:** ``pa.lib.ArrowInvalid``

- ``pa.lib.ArrowInvalid`` -- se a validação falhar

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[[datasets.table.MemoryMappedTable.equals]]

```python
equals(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L251)

**Parâmetros:**

other ([Tabela](/docs/datasets/main/pt/package_reference/table_classes#datasets.table.Table)) : Tabela para comparação.

check_metadata `bool`, padrão `False`) : 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[[datasets.table.MemoryMappedTable.to_batches]]

```python
to_batches(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L268)

**Parâmetros:**

max_chunksize (`int`, padrão `None`) : Tamanho máximo para os blocos de `RecordBatch`. Os blocos individuais podem ser menores, dependendo do layout dos blocos das colunas individuais.

**Retorna:**

`List[pyarrow.RecordBatch]`

Converte uma Tabela em uma lista de objetos `RecordBatch` (contíguos).

#### to_pydict[[datasets.table.MemoryMappedTable.to_pydict]]

```python
to_pydict(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L282)

**Retorna:** `dict`

Converta a Table em um `dict` ou `OrderedDict`.

#### to_pandas[[datasets.table.MemoryMappedTable.to_pandas]]

```python
to_pandas(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L300)

**Parâmetros:**

memory_pool (`MemoryPool`, padrão `None`) : MemoryPool do Arrow a ser usado para alocações. Usa o pool de memória padrão se nenhum for passado.

strings_to_categorical (`bool`, padrão `False`) : Codifica tipos de string (UTF8) e binário para `pandas.Categorical`.

categories (`list`, padrão `empty`) : Lista de campos que devem ser retornados como `pandas.Categorical`. Aplica-se apenas a estruturas de dados semelhantes a tabelas.

zero_copy_only (`bool`, padrão `False`) : Lança uma `ArrowException` se esta chamada de função exigir a cópia dos dados subjacentes.

integer_object_nulls (`bool`, padrão `False`) : Converte inteiros com nulos em objetos.

date_as_object (`bool`, padrão `True`) : Converte datas para objetos. Se `False`, converte para o tipo `datetime64[ns]`.

timestamp_as_object (`bool`, padrão `False`) : Converte timestamps que não estão em nanossegundos (`np.datetime64`) para objetos. Isso é útil se você tiver timestamps que não se encaixam no intervalo normal de datas de timestamps em nanossegundos (1678 d.C.-2262 d.C.). Se `False`, todos os timestamps são convertidos para o dtype `datetime64[ns]`.

use_threads (`bool`, padrão `True`) : Se a conversão deve ser paralelizada usando múltiplas threads.

deduplicate_objects (`bool`, padrão `False`) : 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ão `False`) : Se `True`, não usa os metadados do 'pandas' para reconstruir o índice do DataFrame, se presente.

safe (`bool`, padrão `True`) : 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ão `False`) : Se `True`, gera um "bloco" interno para cada coluna ao criar um pandas.DataFrame a partir de um `RecordBatch` ou `Table`. 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ão `False`) : EXPERIMENTAL: Se `True`, tenta desalocar a memória Arrow de origem ao converter o objeto Arrow para pandas. Se você usar o objeto após chamar `to_pandas` com esta opção, o seu programa será interrompido.

types_mapper (`function`, padrão `None`) : Uma função que mapeia um DataType do pyarrow para um `ExtensionDtype` do pandas. Isso pode ser usado para substituir o tipo padrão do pandas para a conversão de tipos embutidos do pyarrow ou na ausência de `pandas_metadata` no esquema da Tabela. A função recebe um DataType do pyarrow e é esperado que retorne um `ExtensionDtype` do pandas ou `None` se a conversão padrão deve ser usada para aquele tipo. Se você tiver um dicionário de mapeamento, pode passar `dict.get` como 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.

#### to_string[[datasets.table.MemoryMappedTable.to_string]]

```python
to_string(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L362)

#### campo[[datasets.table.MemoryMappedTable.field]]

```python
field(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L381)

**Parâmetros:**

i (`Union[int, str]`) : O índice ou o nome do campo a ser recuperado.

**Retorna:**

`pyarrow.Field`

Selecione um campo do esquema pelo nome da coluna ou pelo índice numérico.

#### coluna[[datasets.table.MemoryMappedTable.column]]

```python
column(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L394)

**Parâmetros:**

i (`Union[int, str]`) : O índice ou o nome da coluna a ser recuperada.

**Retorna:**

`pyarrow.ChunkedArray`

Selecione uma coluna pelo nome da coluna ou pelo índice numérico.

#### itercolumns[[datasets.table.MemoryMappedTable.itercolumns]]

```python
itercolumns(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L407)

**Retorna:**

`pyarrow.ChunkedArray`

Itera sobre todas as colunas em ordem numérica.

#### schema[[datasets.table.MemoryMappedTable.schema]]

```python
schema()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L416)

**Retorna:**

`pyarrow.Schema`

Esquema da tabela e de suas colunas.

#### colunas[[datasets.table.MemoryMappedTable.columns]]

```python
columns()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L426)

**Retorna:**

`List[pa.ChunkedArray]`

Lista de todas as colunas em ordem numérica.

#### num_columns[[datasets.table.MemoryMappedTable.num_columns]]

```python
num_columns()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L436)

**Retorna:**

int

Número de colunas nesta tabela.

#### num_rows[[datasets.table.MemoryMappedTable.num_rows]]

```python
num_rows()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L446)

**Retorna:**

int

Número de linhas nesta tabela.

Devido à definição de uma tabela, todas as colunas têm o mesmo número de linhas.

#### shape[[datasets.table.MemoryMappedTable.shape]]

```python
shape()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L459)

**Retorna:** `(int, int)`

Número de linhas e número de colunas.

Dimensões da tabela: (#linhas, #colunas).

#### nbytes[[datasets.table.MemoryMappedTable.nbytes]]

```python
nbytes()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L469)

Número total de bytes consumidos pelos elementos da tabela.

#### column_names[[datasets.table.MemoryMappedTable.column_names]]

```python
column_names()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L476)

Nomes das colunas da tabela.

#### slice[[datasets.table.MemoryMappedTable.slice]]

```python
slice(offset = 0, length = None)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1114)

**Parâmetros:**

offset (`int`, padrão `0`) : Deslocamento a partir do início da tabela para o recorte.

length (`int`, padrão `None`) : Comprimento do segmento (o padrão é até o final da tabela, a partir do deslocamento).

**Retorna:**

`datasets.table.Table`

Compute fatia sem cópia desta Table.

#### filtro[[datasets.table.MemoryMappedTable.filter]]

```python
filter(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1133)

Selecione registros de uma Table. Consulte `pyarrow.compute.filter` para o uso completo.

#### flatten[[datasets.table.MemoryMappedTable.flatten]]

```python
flatten(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1141)

**Parâmetros:**

memory_pool (`MemoryPool`, padrão `None`) : Para alocações de memória, se necessário; caso contrário, usa o pool padrão.

**Retorna:**

`datasets.table.Table`

Achatar esta tabela. Cada coluna com tipo struct é achatada em uma coluna por campo do struct. As outras colunas permanecem inalteradas.

#### combine_chunks[[datasets.table.MemoryMappedTable.combine_chunks]]

```python
combine_chunks(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1157)

**Parâmetros:**

memory_pool (`MemoryPool`, padrão `None`) : Para alocações de memória, se necessário; caso contrário, usa o pool padrão.

**Retorna:**

`datasets.table.Table`

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[[datasets.table.MemoryMappedTable.cast]]

```python
cast(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1175)

**Parâmetros:**

target_schema (`Schema`) : Esquema para o qual será feito o cast; os nomes e a ordem dos campos devem corresponder.

safe (`bool`, padrão `True`) : Verifica se há estouro de capacidade ou outras conversões inseguras.

**Retorna:**

`datasets.table.Table`

Converter valores de tabela para outro esquema

#### replace_schema_metadata[[datasets.table.MemoryMappedTable.replace_schema_metadata]]

```python
replace_schema_metadata(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1192)

**Parâmetros:**

metadata (`dict`, padrão é `None`) --

**Retorna:** `datasets.table.Table`

shallow_copy

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[[datasets.table.MemoryMappedTable.add_column]]

```python
add_column(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1208)

**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, e o objeto de tabela original permanece inalterado.

#### append_column[[datasets.table.MemoryMappedTable.append_column]]

```python
append_column(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1231)

**Parâmetros:**

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.

Adiciona a coluna no final das colunas.

#### remove_column[[datasets.table.MemoryMappedTable.remove_column]]

```python
remove_column(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1250)

**Parâmetros:**

i (`int`) : Índice da coluna a ser removida.

**Retorna:** `datasets.table.Table`

Nova tabela sem a coluna.

Crie uma nova Table com a coluna indicada removida.

#### set_column[[datasets.table.MemoryMappedTable.set_column]]

```python
set_column(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1266)

**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.

#### rename_columns[[datasets.table.MemoryMappedTable.rename_columns]]

```python
rename_columns(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1287)

Crie uma nova tabela com as colunas renomeadas para os nomes fornecidos.

#### selecionar[[datasets.table.MemoryMappedTable.select]]

```python
select(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1314)

**Parâmetros:**

columns (`Union[List[str], List[int]]`) : Os nomes das colunas ou os índices inteiros a serem selecionados.

**Retorna:** [datasets.table.Table](/docs/datasets/main/pt/package_reference/table_classes#datasets.table.Table)

Nova tabela com as colunas especificadas e metadados preservados.

Selecione as colunas da tabela.

Retorna uma nova tabela com as colunas especificadas e metadados preservados.

#### drop[[datasets.table.MemoryMappedTable.drop]]

```python
drop(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1295)

**Parâmetros:**

columns (`List[str]`) : Lista de nomes de campos que fazem referência a colunas existentes.

**Retorna:** `datasets.table.Table`

Nova tabela sem as colunas.

**Exceções:** ``KeyError``

- ``KeyError`` -- : se algum dos nomes de colunas passados não existir.

Remova uma ou mais colunas e retorne uma nova tabela.

#### from_file[[datasets.table.MemoryMappedTable.from_file]]

```python
from_file(filename: str, replays = None)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1081)

## ConcatenationTable[[datasets.table.ConcatenationTable]]

#### datasets.table.ConcatenationTable[[datasets.table.ConcatenationTable]]

```python
datasets.table.ConcatenationTable(table: Table, blocks: list)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1339)

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 `InMemoryTable` sã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, assim 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 (ele adiciona linhas), enquanto o segundo eixo concatena as tabelas ao longo do eixo 1 (ele 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[[datasets.table.ConcatenationTable.validate]]

```python
validate(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L235)

**Parâmetros:**

full (`bool`, padrão `False`) : Se `True`, executa verificações caras; caso contrário, executa apenas verificações baratas.

**Exceções:** ``pa.lib.ArrowInvalid``

- ``pa.lib.ArrowInvalid`` -- se a validação falhar

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[[datasets.table.ConcatenationTable.equals]]

```python
equals(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L251)

**Parâmetros:**

other ([Tabela](/docs/datasets/main/pt/package_reference/table_classes#datasets.table.Table)) : Tabela para comparação.

check_metadata `bool`, padrão `False`) : 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[[datasets.table.ConcatenationTable.to_batches]]

```python
to_batches(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L268)

**Parâmetros:**

max_chunksize (`int`, padrão `None`) : Tamanho máximo para os blocos de `RecordBatch`. Os blocos individuais podem ser menores, dependendo do layout dos blocos das colunas individuais.

**Retorna:**

`List[pyarrow.RecordBatch]`

Converte uma Tabela em uma lista de objetos `RecordBatch` (contíguos).

#### to_pydict[[datasets.table.ConcatenationTable.to_pydict]]

```python
to_pydict(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L282)

**Retorna:** `dict`

Converta a Table em um `dict` ou `OrderedDict`.

#### to_pandas[[datasets.table.ConcatenationTable.to_pandas]]

```python
to_pandas(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L300)

**Parâmetros:**

memory_pool (`MemoryPool`, padrão `None`) : MemoryPool do Arrow a ser usado para alocações. Usa o pool de memória padrão se nenhum for passado.

strings_to_categorical (`bool`, padrão `False`) : Codifica tipos de string (UTF8) e binário para `pandas.Categorical`.

categories (`list`, padrão `empty`) : Lista de campos que devem ser retornados como `pandas.Categorical`. Aplica-se apenas a estruturas de dados semelhantes a tabelas.

zero_copy_only (`bool`, padrão `False`) : Lança uma `ArrowException` se esta chamada de função exigir a cópia dos dados subjacentes.

integer_object_nulls (`bool`, padrão `False`) : Converte inteiros com nulos em objetos.

date_as_object (`bool`, padrão `True`) : Converte datas para objetos. Se `False`, converte para o tipo `datetime64[ns]`.

timestamp_as_object (`bool`, padrão `False`) : Converte timestamps que não estão em nanossegundos (`np.datetime64`) para objetos. Isso é útil se você tiver timestamps que não se encaixam no intervalo normal de datas de timestamps em nanossegundos (1678 d.C.-2262 d.C.). Se `False`, todos os timestamps são convertidos para o dtype `datetime64[ns]`.

use_threads (`bool`, padrão `True`) : Se a conversão deve ser paralelizada usando múltiplas threads.

deduplicate_objects (`bool`, padrão `False`) : 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ão `False`) : Se `True`, não usa os metadados do 'pandas' para reconstruir o índice do DataFrame, se presente.

safe (`bool`, padrão `True`) : 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ão `False`) : Se `True`, gera um "bloco" interno para cada coluna ao criar um pandas.DataFrame a partir de um `RecordBatch` ou `Table`. 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ão `False`) : EXPERIMENTAL: Se `True`, tenta desalocar a memória Arrow de origem ao converter o objeto Arrow para pandas. Se você usar o objeto após chamar `to_pandas` com esta opção, o seu programa será interrompido.

types_mapper (`function`, padrão `None`) : Uma função que mapeia um DataType do pyarrow para um `ExtensionDtype` do pandas. Isso pode ser usado para substituir o tipo padrão do pandas para a conversão de tipos embutidos do pyarrow ou na ausência de `pandas_metadata` no esquema da Tabela. A função recebe um DataType do pyarrow e é esperado que retorne um `ExtensionDtype` do pandas ou `None` se a conversão padrão deve ser usada para aquele tipo. Se você tiver um dicionário de mapeamento, pode passar `dict.get` como 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.

#### to_string[[datasets.table.ConcatenationTable.to_string]]

```python
to_string(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L362)

#### campo[[datasets.table.ConcatenationTable.field]]

```python
field(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L381)

**Parâmetros:**

i (`Union[int, str]`) : O índice ou o nome do campo a ser recuperado.

**Retorna:**

`pyarrow.Field`

Selecione um campo do esquema pelo nome da coluna ou pelo índice numérico.

#### coluna[[datasets.table.ConcatenationTable.column]]

```python
column(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L394)

**Parâmetros:**

i (`Union[int, str]`) : O índice ou o nome da coluna a ser recuperada.

**Retorna:**

`pyarrow.ChunkedArray`

Selecione uma coluna pelo nome da coluna ou pelo índice numérico.

#### itercolumns[[datasets.table.ConcatenationTable.itercolumns]]

```python
itercolumns(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L407)

**Retorna:**

`pyarrow.ChunkedArray`

Itera sobre todas as colunas em ordem numérica.

#### schema[[datasets.table.ConcatenationTable.schema]]

```python
schema()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L416)

**Retorna:**

`pyarrow.Schema`

Esquema da tabela e de suas colunas.

#### colunas[[datasets.table.ConcatenationTable.columns]]

```python
columns()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L426)

**Retorna:**

`List[pa.ChunkedArray]`

Lista de todas as colunas em ordem numérica.

#### num_columns[[datasets.table.ConcatenationTable.num_columns]]

```python
num_columns()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L436)

**Retorna:**

int

Número de colunas nesta tabela.

#### num_rows[[datasets.table.ConcatenationTable.num_rows]]

```python
num_rows()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L446)

**Retorna:**

int

Número de linhas nesta tabela.

Devido à definição de uma tabela, todas as colunas têm o mesmo número de linhas.

#### shape[[datasets.table.ConcatenationTable.shape]]

```python
shape()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L459)

**Retorna:** `(int, int)`

Número de linhas e número de colunas.

Dimensões da tabela: (#linhas, #colunas).

#### nbytes[[datasets.table.ConcatenationTable.nbytes]]

```python
nbytes()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L469)

Número total de bytes consumidos pelos elementos da tabela.

#### column_names[[datasets.table.ConcatenationTable.column_names]]

```python
column_names()
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L476)

Nomes das colunas da tabela.

#### slice[[datasets.table.ConcatenationTable.slice]]

```python
slice(offset = 0, length = None)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1548)

**Parâmetros:**

offset (`int`, padrão `0`) : Deslocamento a partir do início da tabela para o recorte.

length (`int`, padrão `None`) : Comprimento do segmento (o padrão é até o final da tabela, a partir do deslocamento).

**Retorna:**

`datasets.table.Table`

Compute fatia sem cópia desta Table.

#### filtro[[datasets.table.ConcatenationTable.filter]]

```python
filter(mask, *args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1579)

Selecione registros de uma Table. Consulte `pyarrow.compute.filter` para o uso completo.

#### flatten[[datasets.table.ConcatenationTable.flatten]]

```python
flatten(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1590)

**Parâmetros:**

memory_pool (`MemoryPool`, padrão `None`) : Para alocações de memória, se necessário; caso contrário, usa o pool padrão.

**Retorna:**

`datasets.table.Table`

Achatar esta tabela. Cada coluna com tipo struct é achatada em uma coluna por campo do struct. As outras colunas permanecem inalteradas.

#### combine_chunks[[datasets.table.ConcatenationTable.combine_chunks]]

```python
combine_chunks(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1608)

**Parâmetros:**

memory_pool (`MemoryPool`, padrão `None`) : Para alocações de memória, se necessário; caso contrário, usa o pool padrão.

**Retorna:**

`datasets.table.Table`

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[[datasets.table.ConcatenationTable.cast]]

```python
cast(target_schema, *args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1628)

**Parâmetros:**

target_schema (`Schema`) : Esquema para o qual será feito o cast; os nomes e a ordem dos campos devem corresponder.

safe (`bool`, padrão `True`) : Verifica se há estouro de capacidade ou outras conversões inseguras.

**Retorna:**

`datasets.table.Table`

Converte valores de tabela para outro esquema.

#### replace_schema_metadata[[datasets.table.ConcatenationTable.replace_schema_metadata]]

```python
replace_schema_metadata(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1659)

**Parâmetros:**

metadata (`dict`, padrão é `None`) --

**Retorna:** `datasets.table.Table`

shallow_copy

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[[datasets.table.ConcatenationTable.add_column]]

```python
add_column(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1677)

**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, e o objeto de tabela original permanece inalterado.

#### append_column[[datasets.table.ConcatenationTable.append_column]]

```python
append_column(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1698)

**Parâmetros:**

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.

Adiciona a coluna no final das colunas.

#### remove_column[[datasets.table.ConcatenationTable.remove_column]]

```python
remove_column(i, *args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1715)

**Parâmetros:**

i (`int`) : Índice da coluna a ser removida.

**Retorna:** `datasets.table.Table`

Nova tabela sem a coluna.

Crie uma nova Table com a coluna indicada removida.

#### set_column[[datasets.table.ConcatenationTable.set_column]]

```python
set_column(*args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1739)

**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.

#### rename_columns[[datasets.table.ConcatenationTable.rename_columns]]

```python
rename_columns(names, *args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1758)

Crie uma nova tabela com as colunas renomeadas para os nomes fornecidos.

#### selecionar[[datasets.table.ConcatenationTable.select]]

```python
select(columns, *args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1792)

**Parâmetros:**

columns (`Union[List[str], List[int]]`) : Os nomes das colunas ou os índices inteiros a serem selecionados.

**Retorna:** [datasets.table.Table](/docs/datasets/main/pt/package_reference/table_classes#datasets.table.Table)

Nova tabela com as colunas especificadas e metadados preservados.

Selecione as colunas da tabela.

Retorna uma nova tabela com as colunas especificadas e metadados preservados.

#### drop[[datasets.table.ConcatenationTable.drop]]

```python
drop(columns, *args, **kwargs)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1771)

**Parâmetros:**

columns (`List[str]`) : Lista de nomes de campos que fazem referência a colunas existentes.

**Retorna:** `datasets.table.Table`

Nova tabela sem as colunas.

**Exceções:** ``KeyError``

- ``KeyError`` -- : se algum dos nomes de colunas passados não existir.

Remova uma ou mais colunas e retorne uma nova tabela.

#### from_blocks[[datasets.table.ConcatenationTable.from_blocks]]

```python
from_blocks(blocks: ~TableBlockContainer)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1444)

#### from_tables[[datasets.table.ConcatenationTable.from_tables]]

```python
from_tables(tables: list, axis: int = 0)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1458)

**Parâmetros:**

tables (lista de `Table` ou lista de `pyarrow.Table`) : Lista de tabelas.

axis (`{0, 1}`, padrão `0`, o que significa sobre as linhas) : Eixo sobre o qual concatenar, onde `0` significa sobre as linhas (verticalmente) e `1` significa sobre as colunas (horizontalmente).

Crie `ConcatenationTable` a partir de uma lista de tabelas.

## Utilitários[[datasets.table.concat_tables]]

#### datasets.table.concat_tables[[datasets.table.concat_tables]]

```python
datasets.table.concat_tables(tables: list, axis: int = 0)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1812)

**Parâmetros:**

tables (lista de `Table`) : Lista de tabelas a serem concatenadas.

axis (`{0, 1}`, padrão `0`, o que significa sobre as linhas) : Eixo sobre o qual concatenar, onde `0` significa sobre as linhas (verticalmente) e `1` significa sobre as colunas (horizontalmente).

**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[[datasets.table.list_table_cache_files]]

```python
datasets.table.list_table_cache_files(table: Table)
```

[Fonte](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1835)

**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.

