# Классы таблиц

Каждый объект `Dataset` опирается на таблицу PyArrow. Таблица может быть загружена с диска (с отображением в память) или непосредственно в память. Доступно несколько типов таблиц, и все они наследуются от [table.Table](/docs/datasets/main/ru/package_reference/table_classes#datasets.table.Table).

## Таблица[[datasets.table.Table]]

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L210)

Обёртка над таблицей pyarrow, использующая композицию. Это базовый класс для `InMemoryTable`, `MemoryMappedTable` и `ConcatenationTable`.

Он реализует все основные атрибуты/методы класса pyarrow Table, за исключением трансформаций таблицы: `slice, filter, flatten, combine_chunks, cast, add_column, append_column, remove_column, set_column, rename_columns` и `drop`.

Реализация этих методов различается для подклассов.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L235)

**Параметры:**

full (`bool`, по умолчанию `False`) : Если `True`, выполняет дорогостоящие проверки, в противном случае — только дешёвые.

**Исключения:** ``pa.lib.ArrowInvalid``

- ``pa.lib.ArrowInvalid`` -- если проверка не пройдена

Выполните проверки валидации. Если валидация не пройдена, будет выброшено исключение.

По умолчанию выполняются только недорогие проверки валидации. Передайте `full=True` для тщательных проверок валидации (потенциально `O(n)`).

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L251)

**Параметры:**

other ([Таблица](/docs/datasets/main/ru/package_reference/table_classes#datasets.table.Table)) : Таблица для сравнения.

check_metadata `bool`, по умолчанию `False`) : Следует ли также проверять равенство метаданных схемы.

**Возвращает:** `bool`

Проверьте, равны ли содержимое двух таблиц.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L268)

**Параметры:**

max_chunksize (`int`, по умолчанию `None`) : Максимальный размер блоков `RecordBatch`. Отдельные блоки могут быть меньше в зависимости от структуры блоков отдельных столбцов.

**Возвращает:**

`List[pyarrow.RecordBatch]`

Преобразовать таблицу в список (непрерывных) объектов `RecordBatch`.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L282)

**Возвращает:** `dict`

Преобразуйте Table в `dict` или `OrderedDict`.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L300)

**Параметры:**

memory_pool (`MemoryPool`, по умолчанию `None`) : Arrow MemoryPool, используемый для выделений памяти. Если не передан, используется пул памяти по умолчанию.

strings_to_categorical (`bool`, по умолчанию `False`) : Кодировать строковые (UTF8) и бинарные типы в `pandas.Categorical`.

categories (`list`, по умолчанию `empty`) : Список полей, которые должны возвращаться как `pandas.Categorical`. Применимо только к табличным структурам данных.

zero_copy_only (`bool`, по умолчанию `False`) : Вызвать `ArrowException`, если для выполнения этого вызова функции потребовалось бы копирование исходных данных.

integer_object_nulls (`bool`, по умолчанию `False`) : Преобразует целые числа с null в объекты.

date_as_object (`bool`, по умолчанию `True`) : Преобразовать даты в объекты. Если `False`, преобразовать в тип данных `datetime64[ns]`.

timestamp_as_object (`bool`, по умолчанию `False`) : Преобразует временные метки, не выраженные в наносекундах (`np.datetime64`), в объекты. Это полезно, если ваши временные метки не укладываются в стандартный диапазон дат для наносекундных меток (1678–2262 гг.). Если `False`, все временные метки преобразуются в тип данных `datetime64[ns]`.

use_threads (`bool`, по умолчанию `True`) : Использовать ли параллельное преобразование с несколькими потоками.

deduplicate_objects (`bool`, по умолчанию `False`) : Не создавать несколько копий объектов Python при их создании, чтобы сэкономить память. Конвертация будет выполняться медленнее.

ignore_metadata (`bool`, по умолчанию `False`) : Если `True`, не использовать метаданные 'pandas' для восстановления индекса DataFrame, если он присутствует.

safe (`bool`, по умолчанию `True`) : Для некоторых типов данных требуется приведение (cast), чтобы сохранить данные в pandas DataFrame или Series (например, временные метки в pandas всегда хранятся в наносекундах). Эта опция определяет, является ли приведение безопасным.

split_blocks (`bool`, по умолчанию `False`) : Если `True`, при создании pandas.DataFrame из `RecordBatch` или `Table` для каждого столбца будет создан один внутренний «блок». Хотя это может временно снизить потребление памяти, имейте в виду, что различные операции pandas могут вызывать «консолидацию», что приведёт к резкому росту использования памяти.

self_destruct (`bool`, по умолчанию `False`) : EXPERIMENTAL: Если `True`, попытается освободить исходную память Arrow при преобразовании объекта Arrow в pandas. Если вы будете использовать объект после вызова `to_pandas` с этим параметром, программа завершится с ошибкой.

types_mapper (`function`, по умолчанию `None`) : функция, сопоставляющая тип pyarrow DataType с `ExtensionDtype` pandas. Это можно использовать для переопределения типа pandas по умолчанию при преобразовании встроенных типов pyarrow или при отсутствии `pandas_metadata` в схеме Table. Функция принимает тип pyarrow DataType и должна возвращать `ExtensionDtype` pandas или `None`, если для данного типа следует использовать преобразование по умолчанию. Если у вас есть словарь соответствий, вы можете передать `dict.get` в качестве функции.

**Возвращает:** `pandas.Series` или `pandas.DataFrame`

`pandas.Series` или `pandas.DataFrame` в зависимости от типа объекта

Преобразовать в совместимый с pandas массив NumPy или DataFrame, в зависимости от ситуации.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L362)

#### поле[[datasets.table.Table.field]]

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L381)

**Параметры:**

i (`Union[int, str]`) : Индекс или имя поля для получения.

**Возвращает:**

`pyarrow.Field`

Выберите поле схемы по имени столбца или числовому индексу.

#### столбец[[datasets.table.Table.column]]

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L394)

**Параметры:**

i (`Union[int, str]`) : Индекс или имя столбца для получения.

**Возвращает:**

`pyarrow.ChunkedArray`

Выберите столбец по его имени или числовому индексу.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L407)

**Возвращает:**

`pyarrow.ChunkedArray`

Итератор по всем столбцам в их числовом порядке.

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

```python
schema()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L416)

**Возвращает:**

`pyarrow.Schema`

Схема таблицы и её столбцов.

#### колонки[[datasets.table.Table.columns]]

```python
columns()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L426)

**Возвращает:**

`List[pa.ChunkedArray]`

Список всех столбцов в числовом порядке.

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

```python
num_columns()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L436)

**Возвращает:**

int

Количество столбцов в этой таблице.

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

```python
num_rows()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L446)

**Возвращает:**

int

Количество строк в этой таблице.

В силу определения таблицы все столбцы имеют одинаковое количество строк.

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

```python
shape()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L459)

**Возвращает:** `(int, int)`

Количество строк и количество столбцов.

Размеры таблицы: (#rows, #columns).

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

```python
nbytes()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L469)

Общее количество байт, занимаемое элементами таблицы.

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

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L695)

Таблица считается загруженной в оперативную память, когда она помещена в RAM пользователя.

Сериализация с помощью pickle действительно копирует все данные в память. Её реализация проста и напрямую использует методы таблицы pyarrow.

Это отличается от таблицы `MemoryMapped`, для которой pickling не копирует все данные в память. Для `MemoryMapped` unpickling, напротив, перечитывает таблицу с диска.

`InMemoryTable` следует использовать, когда данные помещаются в оперативную память, тогда как `MemoryMapped` предназначены для данных, превышающих объём памяти, или когда вы хотите, чтобы потребление памяти вашим приложением оставалось низким.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L235)

**Параметры:**

full (`bool`, по умолчанию `False`) : Если `True`, выполняет дорогостоящие проверки, в противном случае — только дешёвые.

**Исключения:** ``pa.lib.ArrowInvalid``

- ``pa.lib.ArrowInvalid`` -- если проверка не пройдена

Выполните проверки валидации. Если валидация не пройдена, будет выброшено исключение.

По умолчанию выполняются только недорогие проверки валидации. Передайте `full=True` для тщательных проверок валидации (потенциально `O(n)`).

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L251)

**Параметры:**

other ([Таблица](/docs/datasets/main/ru/package_reference/table_classes#datasets.table.Table)) : Таблица для сравнения.

check_metadata `bool`, по умолчанию `False`) : Следует ли также проверять равенство метаданных схемы.

**Возвращает:** `bool`

Проверьте, равны ли содержимое двух таблиц.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L268)

**Параметры:**

max_chunksize (`int`, по умолчанию `None`) : Максимальный размер блоков `RecordBatch`. Отдельные блоки могут быть меньше в зависимости от структуры блоков отдельных столбцов.

**Возвращает:**

`List[pyarrow.RecordBatch]`

Преобразовать таблицу в список (непрерывных) объектов `RecordBatch`.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L282)

**Возвращает:** `dict`

Преобразуйте Table в `dict` или `OrderedDict`.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L300)

**Параметры:**

memory_pool (`MemoryPool`, по умолчанию `None`) : Arrow MemoryPool, используемый для выделений памяти. Если не передан, используется пул памяти по умолчанию.

strings_to_categorical (`bool`, по умолчанию `False`) : Кодировать строковые (UTF8) и бинарные типы в `pandas.Categorical`.

categories (`list`, по умолчанию `empty`) : Список полей, которые должны возвращаться как `pandas.Categorical`. Применимо только к табличным структурам данных.

zero_copy_only (`bool`, по умолчанию `False`) : Вызвать `ArrowException`, если для выполнения этого вызова функции потребовалось бы копирование исходных данных.

integer_object_nulls (`bool`, по умолчанию `False`) : Преобразует целые числа с null в объекты.

date_as_object (`bool`, по умолчанию `True`) : Преобразовать даты в объекты. Если `False`, преобразовать в тип данных `datetime64[ns]`.

timestamp_as_object (`bool`, по умолчанию `False`) : Преобразует временные метки, не выраженные в наносекундах (`np.datetime64`), в объекты. Это полезно, если ваши временные метки не укладываются в стандартный диапазон дат для наносекундных меток (1678–2262 гг.). Если `False`, все временные метки преобразуются в тип данных `datetime64[ns]`.

use_threads (`bool`, по умолчанию `True`) : Использовать ли параллельное преобразование с несколькими потоками.

deduplicate_objects (`bool`, по умолчанию `False`) : Не создавать несколько копий объектов Python при их создании, чтобы сэкономить память. Конвертация будет выполняться медленнее.

ignore_metadata (`bool`, по умолчанию `False`) : Если `True`, не использовать метаданные 'pandas' для восстановления индекса DataFrame, если он присутствует.

safe (`bool`, по умолчанию `True`) : Для некоторых типов данных требуется приведение (cast), чтобы сохранить данные в pandas DataFrame или Series (например, временные метки в pandas всегда хранятся в наносекундах). Эта опция определяет, является ли приведение безопасным.

split_blocks (`bool`, по умолчанию `False`) : Если `True`, при создании pandas.DataFrame из `RecordBatch` или `Table` для каждого столбца будет создан один внутренний «блок». Хотя это может временно снизить потребление памяти, имейте в виду, что различные операции pandas могут вызывать «консолидацию», что приведёт к резкому росту использования памяти.

self_destruct (`bool`, по умолчанию `False`) : EXPERIMENTAL: Если `True`, попытается освободить исходную память Arrow при преобразовании объекта Arrow в pandas. Если вы будете использовать объект после вызова `to_pandas` с этим параметром, программа завершится с ошибкой.

types_mapper (`function`, по умолчанию `None`) : функция, сопоставляющая тип pyarrow DataType с `ExtensionDtype` pandas. Это можно использовать для переопределения типа pandas по умолчанию при преобразовании встроенных типов pyarrow или при отсутствии `pandas_metadata` в схеме Table. Функция принимает тип pyarrow DataType и должна возвращать `ExtensionDtype` pandas или `None`, если для данного типа следует использовать преобразование по умолчанию. Если у вас есть словарь соответствий, вы можете передать `dict.get` в качестве функции.

**Возвращает:** `pandas.Series` или `pandas.DataFrame`

`pandas.Series` или `pandas.DataFrame` в зависимости от типа объекта

Преобразовать в совместимый с pandas массив NumPy или DataFrame, в зависимости от ситуации.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L362)

#### поле[[datasets.table.InMemoryTable.field]]

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L381)

**Параметры:**

i (`Union[int, str]`) : Индекс или имя поля для получения.

**Возвращает:**

`pyarrow.Field`

Выберите поле схемы по имени столбца или числовому индексу.

#### столбец[[datasets.table.InMemoryTable.column]]

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L394)

**Параметры:**

i (`Union[int, str]`) : Индекс или имя столбца для получения.

**Возвращает:**

`pyarrow.ChunkedArray`

Выберите столбец по его имени или числовому индексу.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L407)

**Возвращает:**

`pyarrow.ChunkedArray`

Итератор по всем столбцам в их числовом порядке.

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

```python
schema()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L416)

**Возвращает:**

`pyarrow.Schema`

Схема таблицы и её столбцов.

#### колонки[[datasets.table.InMemoryTable.columns]]

```python
columns()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L426)

**Возвращает:**

`List[pa.ChunkedArray]`

Список всех столбцов в числовом порядке.

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

```python
num_columns()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L436)

**Возвращает:**

int

Количество столбцов в этой таблице.

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

```python
num_rows()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L446)

**Возвращает:**

int

Количество строк в этой таблице.

В силу определения таблицы все столбцы имеют одинаковое количество строк.

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

```python
shape()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L459)

**Возвращает:** `(int, int)`

Количество строк и количество столбцов.

Размеры таблицы: (#rows, #columns).

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

```python
nbytes()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L469)

Общее количество байт, занимаемое элементами таблицы.

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

```python
column_names()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L476)

Имена столбцов таблицы.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L859)

**Параметры:**

offset (`int`, по умолчанию `0`) : Смещение от начала таблицы до среза.

length (`int`, по умолчанию `None`) : Длина среза (по умолчанию — до конца таблицы, начиная с смещения).

**Возвращает:**

`datasets.table.Table`

Вычислить срез этой таблицы без копирования данных.

#### фильтр[[datasets.table.InMemoryTable.filter]]

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L876)

Выбор записей из таблицы. См. `pyarrow.compute.filter` для полного описания использования.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L882)

**Параметры:**

memory_pool (`MemoryPool`, по умолчанию `None`) : для выделений памяти, если требуется, в противном случае используется пул по умолчанию.

**Возвращает:**

`datasets.table.Table`

Разверните эту таблицу. Каждая колонка со структурированным типом данных разворачивается в одну колонку на каждое поле структуры. Остальные колонки остаются без изменений.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L896)

**Параметры:**

memory_pool (`MemoryPool`, по умолчанию `None`) : для выделений памяти, если требуется, в противном случае используется пул по умолчанию.

**Возвращает:**

`datasets.table.Table`

Создайте новую таблицу, объединив фрагменты, из которых состоит эта таблица.

Все базовые фрагменты в `ChunkedArray` каждой колонки объединяются в ноль или один фрагмент.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L912)

**Параметры:**

target_schema (`Schema`) : Схема, к которой выполняется приведение; имена и порядок полей должны совпадать.

safe (`bool`, по умолчанию `True`) : Проверка на переполнение или другие небезопасные преобразования.

**Возвращает:**

`datasets.table.Table`

Преобразование значений таблицы к другой схеме.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L927)

**Параметры:**

metadata (`dict`, по умолчанию `None`) --

**Возвращает:** `datasets.table.Table`

shallow_copy

EXPERIMENTAL: Создать поверхностную копию таблицы, заменив метаданные ключ-значение схемы на указанные новые метаданные (которые могут быть `None`, что приводит к удалению существующих метаданных).

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L941)

**Параметры:**

i (`int`) : Индекс, по которому разместить столбец.

field_ (`Union[str, pyarrow.Field]`) : Если передана строка, тип выводится из данных столбца.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : данные столбца.

**Возвращает:** `datasets.table.Table`

Новая таблица с добавленным переданным столбцом.

Добавить столбец в таблицу в указанную позицию.

Возвращается новая таблица с добавленным столбцом, исходный объект таблицы остаётся неизменным.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L962)

**Параметры:**

field_ (`Union[str, pyarrow.Field]`) : Если передана строка, тип выводится из данных столбца.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : данные столбца.

**Возвращает:** `datasets.table.Table`

Новая таблица с добавленным переданным столбцом.

Добавить столбец в конец списка столбцов.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L979)

**Параметры:**

i (`int`) : Индекс удаляемой колонки.

**Возвращает:** `datasets.table.Table`

Новая таблица без столбца.

Создайте новую таблицу Table с удалённой указанной колонкой.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L993)

**Параметры:**

i (`int`) : Индекс, по которому разместить столбец.

field_ (`Union[str, pyarrow.Field]`) : Если передана строка, тип выводится из данных столбца.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : данные столбца.

**Возвращает:** `datasets.table.Table`

Новая таблица с переданным набором столбцов.

Заменить столбец в таблице на позиции.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1012)

Создайте новую таблицу с переименованными в указанные столбцами.

#### выбрать[[datasets.table.InMemoryTable.select]]

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1035)

**Параметры:**

columns (`Union[List[str], List[int]]`) : Имена столбцов или целочисленные индексы для выбора.

**Возвращает:** [datasets.table.Table](/docs/datasets/main/ru/package_reference/table_classes#datasets.table.Table)

Новая таблица с указанными столбцами, метаданные сохранены.

Выберите столбцы таблицы.

Возвращает новую таблицу с указанными столбцами, сохраняя метаданные.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1018)

**Параметры:**

columns (`List[str]`) : Список имён полей, ссылающихся на существующие столбцы.

**Возвращает:** `datasets.table.Table`

Новая таблица без столбцов.

**Исключения:** ``KeyError``

- ``KeyError`` -- : если одно из переданных имён столбцов не существует.

Удалите одну или несколько столбцов и верните новую таблицу.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L719)

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L724)

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L729)

**Параметры:**

df (`pandas.DataFrame`) --

schema (`pyarrow.Schema`, *optional*) : Ожидаемая схема таблицы Arrow. Можно использовать для указания типов столбцов, если их невозможно определить автоматически. Если передана, вывод будет иметь именно эту схему. Столбцы, указанные в схеме, но отсутствующие в столбцах DataFrame или его индексе, вызовут ошибку. Дополнительные столбцы или уровни индекса в DataFrame, не указанные в схеме, будут проигнорированы.

preserve_index (`bool`, *необязательный*) : Указывает, следует ли сохранять индекс как дополнительный столбец в результирующей `Table`. Значение по умолчанию None сохраняет индекс как столбец, за исключением RangeIndex, который хранится только в метаданных. Используйте `preserve_index=True`, чтобы принудительно сохранить его как столбец.

nthreads (`int`, по умолчанию `None` (может использовать до количества CPU-ядер системы потоков)) : Если значение больше 1, преобразует столбцы в Arrow параллельно, используя указанное количество потоков.

columns (`List[str]`, *необязательный*) : Список столбцов, которые нужно преобразовать. Если `None`, используются все столбцы.

safe (`bool`, по умолчанию `True`) : Проверка на переполнение или другие небезопасные преобразования,

**Возвращает:** `datasets.table.Table`

Преобразование pandas.DataFrame в таблицу Arrow.

Типы столбцов в результирующей таблице Arrow выводятся из dtypes объектов pandas.Series в DataFrame. В случае Series, не являющихся объектами типа object, NumPy dtype преобразуется в соответствующий ему тип Arrow. В случае `object` необходимо определить тип данных, анализируя Python-объекты в этой Series.

Обратите внимание, что Series с типом данных `object` не всегда содержат достаточно информации для однозначного определения осмысленного типа Arrow. Если тип не удаётся вывести, например, если длина DataFrame равна 0 или Series содержит только объекты `None/nan`, тип устанавливается как null. Этого поведения можно избежать, создав явную схему и передав её в эту функцию.

Примеры:
```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)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L787)

**Параметры:**

arrays (`List[Union[pyarrow.Array, pyarrow.ChunkedArray]]`) : Массивы одинаковой длины, которые должны формировать таблицу.

names (`List[str]`, *необязательный*) : Имена столбцов таблицы. Если не передано, необходимо передать schema.

schema (`Schema`, по умолчанию `None`) : Схема для создаваемой таблицы. Если не передана, необходимо передать имена.

metadata (`Union[dict, Mapping]`, по умолчанию `None`) : Необязательные метаданные для схемы (если она была выведена).

**Возвращает:**

`datasets.table.Table`

Создайте таблицу из массивов Arrow.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L807)

**Параметры:**

mapping (`Union[dict, Mapping]`) : Соответствие строк массивам или спискам Python.

schema (`Schema`, по умолчанию `None`) : если не передан, выводится из значений Mapping

metadata (`Union[dict, Mapping]`, по умолчанию `None`) : Необязательные метаданные для схемы (если она была выведена).

**Возвращает:**

`datasets.table.Table`

Создайте таблицу из массивов или столбцов Arrow.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L843)

**Параметры:**

batches (`Union[Sequence[pyarrow.RecordBatch], Iterator[pyarrow.RecordBatch]]`) : Последовательность `RecordBatch` для преобразования; все схемы должны быть одинаковыми.

schema (`Schema`, по умолчанию `None`) : Если не передано, будет выведено из первого `RecordBatch`.

**Возвращает:** `datasets.table.Table`

Создайте Table из последовательности или итератора `RecordBatches` 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)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1055)

Таблица считается отображённой в память (memory-mapped), если она не использует оперативную память пользователя, а загружает данные непосредственно с диска.

При сериализации данные не копируются в память. Вместо этого сериализуется только путь к файлу arrow, отображённому в память, а также список трансформаций, которые необходимо «воспроизвести» при повторной загрузке таблицы с диска.

Её реализация требует хранения истории всех преобразований, применённых к базовой таблице pyarrow, чтобы их можно было «воспроизвести» при повторной загрузке таблицы с диска.

Это отличается от таблицы `InMemoryTable`, для которой сериализация действительно копирует все данные в память.

`InMemoryTable` следует использовать, когда данные помещаются в оперативную память, тогда как `MemoryMapped` предназначены для данных, превышающих объём памяти, или когда вы хотите, чтобы потребление памяти вашим приложением оставалось низким.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L235)

**Параметры:**

full (`bool`, по умолчанию `False`) : Если `True`, выполняет дорогостоящие проверки, в противном случае — только дешёвые.

**Исключения:** ``pa.lib.ArrowInvalid``

- ``pa.lib.ArrowInvalid`` -- если проверка не пройдена

Выполните проверки валидации. Если валидация не пройдена, будет выброшено исключение.

По умолчанию выполняются только недорогие проверки валидации. Передайте `full=True` для тщательных проверок валидации (потенциально `O(n)`).

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L251)

**Параметры:**

other ([Таблица](/docs/datasets/main/ru/package_reference/table_classes#datasets.table.Table)) : Таблица для сравнения.

check_metadata `bool`, по умолчанию `False`) : Следует ли также проверять равенство метаданных схемы.

**Возвращает:** `bool`

Проверьте, равны ли содержимое двух таблиц.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L268)

**Параметры:**

max_chunksize (`int`, по умолчанию `None`) : Максимальный размер блоков `RecordBatch`. Отдельные блоки могут быть меньше в зависимости от структуры блоков отдельных столбцов.

**Возвращает:**

`List[pyarrow.RecordBatch]`

Преобразовать таблицу в список (непрерывных) объектов `RecordBatch`.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L282)

**Возвращает:** `dict`

Преобразуйте Table в `dict` или `OrderedDict`.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L300)

**Параметры:**

memory_pool (`MemoryPool`, по умолчанию `None`) : Arrow MemoryPool, используемый для выделений памяти. Если не передан, используется пул памяти по умолчанию.

strings_to_categorical (`bool`, по умолчанию `False`) : Кодировать строковые (UTF8) и бинарные типы в `pandas.Categorical`.

categories (`list`, по умолчанию `empty`) : Список полей, которые должны возвращаться как `pandas.Categorical`. Применимо только к табличным структурам данных.

zero_copy_only (`bool`, по умолчанию `False`) : Вызвать `ArrowException`, если для выполнения этого вызова функции потребовалось бы копирование исходных данных.

integer_object_nulls (`bool`, по умолчанию `False`) : Преобразует целые числа с null в объекты.

date_as_object (`bool`, по умолчанию `True`) : Преобразовать даты в объекты. Если `False`, преобразовать в тип данных `datetime64[ns]`.

timestamp_as_object (`bool`, по умолчанию `False`) : Преобразует временные метки, не выраженные в наносекундах (`np.datetime64`), в объекты. Это полезно, если ваши временные метки не укладываются в стандартный диапазон дат для наносекундных меток (1678–2262 гг.). Если `False`, все временные метки преобразуются в тип данных `datetime64[ns]`.

use_threads (`bool`, по умолчанию `True`) : Использовать ли параллельное преобразование с несколькими потоками.

deduplicate_objects (`bool`, по умолчанию `False`) : Не создавать несколько копий объектов Python при их создании, чтобы сэкономить память. Конвертация будет выполняться медленнее.

ignore_metadata (`bool`, по умолчанию `False`) : Если `True`, не использовать метаданные 'pandas' для восстановления индекса DataFrame, если он присутствует.

safe (`bool`, по умолчанию `True`) : Для некоторых типов данных требуется приведение (cast), чтобы сохранить данные в pandas DataFrame или Series (например, временные метки в pandas всегда хранятся в наносекундах). Эта опция определяет, является ли приведение безопасным.

split_blocks (`bool`, по умолчанию `False`) : Если `True`, при создании pandas.DataFrame из `RecordBatch` или `Table` для каждого столбца будет создан один внутренний «блок». Хотя это может временно снизить потребление памяти, имейте в виду, что различные операции pandas могут вызывать «консолидацию», что приведёт к резкому росту использования памяти.

self_destruct (`bool`, по умолчанию `False`) : EXPERIMENTAL: Если `True`, попытается освободить исходную память Arrow при преобразовании объекта Arrow в pandas. Если вы будете использовать объект после вызова `to_pandas` с этим параметром, программа завершится с ошибкой.

types_mapper (`function`, по умолчанию `None`) : функция, сопоставляющая тип pyarrow DataType с `ExtensionDtype` pandas. Это можно использовать для переопределения типа pandas по умолчанию при преобразовании встроенных типов pyarrow или при отсутствии `pandas_metadata` в схеме Table. Функция принимает тип pyarrow DataType и должна возвращать `ExtensionDtype` pandas или `None`, если для данного типа следует использовать преобразование по умолчанию. Если у вас есть словарь соответствий, вы можете передать `dict.get` в качестве функции.

**Возвращает:** `pandas.Series` или `pandas.DataFrame`

`pandas.Series` или `pandas.DataFrame` в зависимости от типа объекта

Преобразовать в совместимый с pandas массив NumPy или DataFrame, в зависимости от ситуации.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L362)

#### поле[[datasets.table.MemoryMappedTable.field]]

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L381)

**Параметры:**

i (`Union[int, str]`) : Индекс или имя поля для получения.

**Возвращает:**

`pyarrow.Field`

Выберите поле схемы по имени столбца или числовому индексу.

#### столбец[[datasets.table.MemoryMappedTable.column]]

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L394)

**Параметры:**

i (`Union[int, str]`) : Индекс или имя столбца для получения.

**Возвращает:**

`pyarrow.ChunkedArray`

Выберите столбец по его имени или числовому индексу.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L407)

**Возвращает:**

`pyarrow.ChunkedArray`

Итератор по всем столбцам в их числовом порядке.

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

```python
schema()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L416)

**Возвращает:**

`pyarrow.Schema`

Схема таблицы и её столбцов.

#### колонки[[datasets.table.MemoryMappedTable.columns]]

```python
columns()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L426)

**Возвращает:**

`List[pa.ChunkedArray]`

Список всех столбцов в числовом порядке.

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

```python
num_columns()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L436)

**Возвращает:**

int

Количество столбцов в этой таблице.

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

```python
num_rows()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L446)

**Возвращает:**

int

Количество строк в этой таблице.

В силу определения таблицы все столбцы имеют одинаковое количество строк.

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

```python
shape()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L459)

**Возвращает:** `(int, int)`

Количество строк и количество столбцов.

Размеры таблицы: (#rows, #columns).

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

```python
nbytes()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L469)

Общее количество байт, занимаемое элементами таблицы.

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

```python
column_names()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L476)

Имена столбцов таблицы.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1114)

**Параметры:**

offset (`int`, по умолчанию `0`) : Смещение от начала таблицы до среза.

length (`int`, по умолчанию `None`) : Длина среза (по умолчанию — до конца таблицы, начиная с смещения).

**Возвращает:**

`datasets.table.Table`

Вычислить срез этой таблицы без копирования данных.

#### фильтр[[datasets.table.MemoryMappedTable.filter]]

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1133)

Выбор записей из таблицы. См. `pyarrow.compute.filter` для полного описания использования.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1141)

**Параметры:**

memory_pool (`MemoryPool`, по умолчанию `None`) : для выделений памяти, если требуется, в противном случае используется пул по умолчанию.

**Возвращает:**

`datasets.table.Table`

Разверните эту таблицу. Каждая колонка со структурированным типом данных разворачивается в одну колонку на каждое поле структуры. Остальные колонки остаются без изменений.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1157)

**Параметры:**

memory_pool (`MemoryPool`, по умолчанию `None`) : для выделений памяти, если требуется, в противном случае используется пул по умолчанию.

**Возвращает:**

`datasets.table.Table`

Создайте новую таблицу, объединив фрагменты, из которых состоит эта таблица.

Все базовые фрагменты в ChunkedArray каждого столбца объединяются в ноль или один фрагмент.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1175)

**Параметры:**

target_schema (`Schema`) : Схема, к которой выполняется приведение; имена и порядок полей должны совпадать.

safe (`bool`, по умолчанию `True`) : Проверка на переполнение или другие небезопасные преобразования.

**Возвращает:**

`datasets.table.Table`

Преобразование значений таблицы к другой схеме

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1192)

**Параметры:**

metadata (`dict`, по умолчанию `None`) --

**Возвращает:** `datasets.table.Table`

shallow_copy

EXPERIMENTAL: Создать поверхностную копию таблицы, заменив метаданные ключ-значение схемы на указанные новые метаданные (которые могут быть None, что приводит к удалению существующих метаданных.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1208)

**Параметры:**

i (`int`) : Индекс, по которому разместить столбец.

field_ (`Union[str, pyarrow.Field]`) : Если передана строка, тип выводится из данных столбца.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : данные столбца.

**Возвращает:** `datasets.table.Table`

Новая таблица с добавленным переданным столбцом.

Добавить столбец в таблицу в указанную позицию.

Возвращается новая таблица с добавленным столбцом, исходный объект таблицы остаётся неизменным.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1231)

**Параметры:**

field_ (`Union[str, pyarrow.Field]`) : Если передана строка, тип выводится из данных столбца.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : данные столбца.

**Возвращает:** `datasets.table.Table`

Новая таблица с добавленным переданным столбцом.

Добавить столбец в конец списка столбцов.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1250)

**Параметры:**

i (`int`) : Индекс удаляемой колонки.

**Возвращает:** `datasets.table.Table`

Новая таблица без столбца.

Создайте новую таблицу Table с удалённой указанной колонкой.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1266)

**Параметры:**

i (`int`) : Индекс, по которому разместить столбец.

field_ (`Union[str, pyarrow.Field]`) : Если передана строка, тип выводится из данных столбца.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : данные столбца.

**Возвращает:** `datasets.table.Table`

Новая таблица с переданным набором столбцов.

Заменить столбец в таблице на позиции.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1287)

Создайте новую таблицу с переименованными в указанные столбцами.

#### выбрать[[datasets.table.MemoryMappedTable.select]]

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1314)

**Параметры:**

columns (`Union[List[str], List[int]]`) : Имена столбцов или целочисленные индексы для выбора.

**Возвращает:** [datasets.table.Table](/docs/datasets/main/ru/package_reference/table_classes#datasets.table.Table)

Новая таблица с указанными столбцами, метаданные сохранены.

Выберите столбцы таблицы.

Возвращает новую таблицу с указанными столбцами, сохраняя метаданные.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1295)

**Параметры:**

columns (`List[str]`) : Список имён полей, ссылающихся на существующие столбцы.

**Возвращает:** `datasets.table.Table`

Новая таблица без столбцов.

**Исключения:** ``KeyError``

- ``KeyError`` -- : если одно из переданных имён столбцов не существует.

Удалите одну или несколько столбцов и верните новую таблицу.

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

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

[Источник](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)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1339)

Таблица формируется путем объединения нескольких таблиц, называемых блоками. Она позволяет выполнять объединение как по оси 0 (добавление строк), так и по оси 1 (добавление столбцов).

Базовые таблицы называются «блоками» и могут быть объектами `InMemoryTable` или `MemoryMappedTable`. Это позволяет объединять таблицы, находящиеся в памяти, и таблицы, отображённые в память. При сериализации объекта `ConcatenationTable` каждый блок сериализуется отдельно:
- объекты `InMemoryTable` сериализуются с помощью pickle путём копирования всех данных в память.
- объекты MemoryMappedTable сериализуются с помощью pickle без копирования данных в оперативную память.
Вместо этого в pickle-файл записывается только путь к файлу arrow с отображением в память, а также список трансформаций, которые «воспроизводятся» при повторной загрузке таблицы с диска.

Её реализация требует хранить каждый блок отдельно. Атрибут `blocks` хранит список списков блоков. Первая ось объединяет таблицы вдоль оси 0 (добавляет строки), а вторая ось — вдоль оси 1 (добавляет столбцы).

Если при конкатенации по оси 0 отсутствуют некоторые столбцы, они заполняются значениями null. Это выполняется с помощью `pyarrow.concat_tables(tables, promote=True)`.

Полностью объединённую таблицу можно получить, обратившись к атрибуту `ConcatenationTable.table`, а блоки — к атрибуту `ConcatenationTable.blocks`.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L235)

**Параметры:**

full (`bool`, по умолчанию `False`) : Если `True`, выполняет дорогостоящие проверки, в противном случае — только дешёвые.

**Исключения:** ``pa.lib.ArrowInvalid``

- ``pa.lib.ArrowInvalid`` -- если проверка не пройдена

Выполните проверки валидации. Если валидация не пройдена, будет выброшено исключение.

По умолчанию выполняются только недорогие проверки валидации. Передайте `full=True` для тщательных проверок валидации (потенциально `O(n)`).

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L251)

**Параметры:**

other ([Таблица](/docs/datasets/main/ru/package_reference/table_classes#datasets.table.Table)) : Таблица для сравнения.

check_metadata `bool`, по умолчанию `False`) : Следует ли также проверять равенство метаданных схемы.

**Возвращает:** `bool`

Проверьте, равны ли содержимое двух таблиц.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L268)

**Параметры:**

max_chunksize (`int`, по умолчанию `None`) : Максимальный размер блоков `RecordBatch`. Отдельные блоки могут быть меньше в зависимости от структуры блоков отдельных столбцов.

**Возвращает:**

`List[pyarrow.RecordBatch]`

Преобразовать таблицу в список (непрерывных) объектов `RecordBatch`.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L282)

**Возвращает:** `dict`

Преобразуйте Table в `dict` или `OrderedDict`.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L300)

**Параметры:**

memory_pool (`MemoryPool`, по умолчанию `None`) : Arrow MemoryPool, используемый для выделений памяти. Если не передан, используется пул памяти по умолчанию.

strings_to_categorical (`bool`, по умолчанию `False`) : Кодировать строковые (UTF8) и бинарные типы в `pandas.Categorical`.

categories (`list`, по умолчанию `empty`) : Список полей, которые должны возвращаться как `pandas.Categorical`. Применимо только к табличным структурам данных.

zero_copy_only (`bool`, по умолчанию `False`) : Вызвать `ArrowException`, если для выполнения этого вызова функции потребовалось бы копирование исходных данных.

integer_object_nulls (`bool`, по умолчанию `False`) : Преобразует целые числа с null в объекты.

date_as_object (`bool`, по умолчанию `True`) : Преобразовать даты в объекты. Если `False`, преобразовать в тип данных `datetime64[ns]`.

timestamp_as_object (`bool`, по умолчанию `False`) : Преобразует временные метки, не выраженные в наносекундах (`np.datetime64`), в объекты. Это полезно, если ваши временные метки не укладываются в стандартный диапазон дат для наносекундных меток (1678–2262 гг.). Если `False`, все временные метки преобразуются в тип данных `datetime64[ns]`.

use_threads (`bool`, по умолчанию `True`) : Использовать ли параллельное преобразование с несколькими потоками.

deduplicate_objects (`bool`, по умолчанию `False`) : Не создавать несколько копий объектов Python при их создании, чтобы сэкономить память. Конвертация будет выполняться медленнее.

ignore_metadata (`bool`, по умолчанию `False`) : Если `True`, не использовать метаданные 'pandas' для восстановления индекса DataFrame, если он присутствует.

safe (`bool`, по умолчанию `True`) : Для некоторых типов данных требуется приведение (cast), чтобы сохранить данные в pandas DataFrame или Series (например, временные метки в pandas всегда хранятся в наносекундах). Эта опция определяет, является ли приведение безопасным.

split_blocks (`bool`, по умолчанию `False`) : Если `True`, при создании pandas.DataFrame из `RecordBatch` или `Table` для каждого столбца будет создан один внутренний «блок». Хотя это может временно снизить потребление памяти, имейте в виду, что различные операции pandas могут вызывать «консолидацию», что приведёт к резкому росту использования памяти.

self_destruct (`bool`, по умолчанию `False`) : EXPERIMENTAL: Если `True`, попытается освободить исходную память Arrow при преобразовании объекта Arrow в pandas. Если вы будете использовать объект после вызова `to_pandas` с этим параметром, программа завершится с ошибкой.

types_mapper (`function`, по умолчанию `None`) : функция, сопоставляющая тип pyarrow DataType с `ExtensionDtype` pandas. Это можно использовать для переопределения типа pandas по умолчанию при преобразовании встроенных типов pyarrow или при отсутствии `pandas_metadata` в схеме Table. Функция принимает тип pyarrow DataType и должна возвращать `ExtensionDtype` pandas или `None`, если для данного типа следует использовать преобразование по умолчанию. Если у вас есть словарь соответствий, вы можете передать `dict.get` в качестве функции.

**Возвращает:** `pandas.Series` или `pandas.DataFrame`

`pandas.Series` или `pandas.DataFrame` в зависимости от типа объекта

Преобразовать в совместимый с pandas массив NumPy или DataFrame, в зависимости от ситуации.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L362)

#### поле[[datasets.table.ConcatenationTable.field]]

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L381)

**Параметры:**

i (`Union[int, str]`) : Индекс или имя поля для получения.

**Возвращает:**

`pyarrow.Field`

Выберите поле схемы по имени столбца или числовому индексу.

#### столбец[[datasets.table.ConcatenationTable.column]]

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L394)

**Параметры:**

i (`Union[int, str]`) : Индекс или имя столбца для получения.

**Возвращает:**

`pyarrow.ChunkedArray`

Выберите столбец по его имени или числовому индексу.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L407)

**Возвращает:**

`pyarrow.ChunkedArray`

Итератор по всем столбцам в их числовом порядке.

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

```python
schema()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L416)

**Возвращает:**

`pyarrow.Schema`

Схема таблицы и её столбцов.

#### колонки[[datasets.table.ConcatenationTable.columns]]

```python
columns()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L426)

**Возвращает:**

`List[pa.ChunkedArray]`

Список всех столбцов в числовом порядке.

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

```python
num_columns()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L436)

**Возвращает:**

int

Количество столбцов в этой таблице.

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

```python
num_rows()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L446)

**Возвращает:**

int

Количество строк в этой таблице.

В силу определения таблицы все столбцы имеют одинаковое количество строк.

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

```python
shape()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L459)

**Возвращает:** `(int, int)`

Количество строк и количество столбцов.

Размеры таблицы: (#rows, #columns).

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

```python
nbytes()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L469)

Общее количество байт, занимаемое элементами таблицы.

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

```python
column_names()
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L476)

Имена столбцов таблицы.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1548)

**Параметры:**

offset (`int`, по умолчанию `0`) : Смещение от начала таблицы до среза.

length (`int`, по умолчанию `None`) : Длина среза (по умолчанию — до конца таблицы, начиная с смещения).

**Возвращает:**

`datasets.table.Table`

Вычислить срез этой таблицы без копирования данных.

#### фильтр[[datasets.table.ConcatenationTable.filter]]

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1579)

Выбор записей из таблицы. См. `pyarrow.compute.filter` для полного описания использования.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1590)

**Параметры:**

memory_pool (`MemoryPool`, по умолчанию `None`) : для выделений памяти, если требуется, в противном случае используется пул по умолчанию.

**Возвращает:**

`datasets.table.Table`

Разверните эту таблицу. Каждая колонка со структурированным типом данных разворачивается в одну колонку на каждое поле структуры. Остальные колонки остаются без изменений.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1608)

**Параметры:**

memory_pool (`MemoryPool`, по умолчанию `None`) : для выделений памяти, если требуется, в противном случае используется пул по умолчанию.

**Возвращает:**

`datasets.table.Table`

Создайте новую таблицу, объединив фрагменты, из которых состоит эта таблица.

Все базовые фрагменты в `ChunkedArray` каждой колонки объединяются в ноль или один фрагмент.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1628)

**Параметры:**

target_schema (`Schema`) : Схема, к которой выполняется приведение; имена и порядок полей должны совпадать.

safe (`bool`, по умолчанию `True`) : Проверка на переполнение или другие небезопасные преобразования.

**Возвращает:**

`datasets.table.Table`

Преобразование значений таблицы к другой схеме.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1659)

**Параметры:**

metadata (`dict`, по умолчанию `None`) --

**Возвращает:** `datasets.table.Table`

shallow_copy

EXPERIMENTAL: Создать поверхностную копию таблицы, заменив метаданные ключ-значение схемы на указанные новые метаданные (которые могут быть `None`, что приводит к удалению существующих метаданных).

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1677)

**Параметры:**

i (`int`) : Индекс, по которому разместить столбец.

field_ (`Union[str, pyarrow.Field]`) : Если передана строка, тип выводится из данных столбца.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : данные столбца.

**Возвращает:** `datasets.table.Table`

Новая таблица с добавленным переданным столбцом.

Добавить столбец в таблицу в указанную позицию.

Возвращается новая таблица с добавленным столбцом, исходный объект таблицы остаётся неизменным.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1698)

**Параметры:**

field_ (`Union[str, pyarrow.Field]`) : Если передана строка, тип выводится из данных столбца.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : данные столбца.

**Возвращает:** `datasets.table.Table`

Новая таблица с добавленным переданным столбцом.

Добавить столбец в конец списка столбцов.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1715)

**Параметры:**

i (`int`) : Индекс удаляемой колонки.

**Возвращает:** `datasets.table.Table`

Новая таблица без столбца.

Создайте новую таблицу Table с удалённой указанной колонкой.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1739)

**Параметры:**

i (`int`) : Индекс, по которому разместить столбец.

field_ (`Union[str, pyarrow.Field]`) : Если передана строка, тип выводится из данных столбца.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : данные столбца.

**Возвращает:** `datasets.table.Table`

Новая таблица с переданным набором столбцов.

Заменить столбец в таблице на позиции.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1758)

Создайте новую таблицу с переименованными в указанные столбцами.

#### выбрать[[datasets.table.ConcatenationTable.select]]

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1792)

**Параметры:**

columns (`Union[List[str], List[int]]`) : Имена столбцов или целочисленные индексы для выбора.

**Возвращает:** [datasets.table.Table](/docs/datasets/main/ru/package_reference/table_classes#datasets.table.Table)

Новая таблица с указанными столбцами, метаданные сохранены.

Выберите столбцы таблицы.

Возвращает новую таблицу с указанными столбцами, сохраняя метаданные.

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1771)

**Параметры:**

columns (`List[str]`) : Список имён полей, ссылающихся на существующие столбцы.

**Возвращает:** `datasets.table.Table`

Новая таблица без столбцов.

**Исключения:** ``KeyError``

- ``KeyError`` -- : если одно из переданных имён столбцов не существует.

Удалите одну или несколько столбцов и верните новую таблицу.

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

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

[Источник](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)
```

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1458)

**Параметры:**

tables (список `Table` или список `pyarrow.Table`) : Список таблиц.

axis (`{0, 1}`, по умолчанию `0`, то есть по строкам) : Ось, по которой выполняется конкатенация, где `0` означает по строкам (вертикально), а `1` — по столбцам (горизонтально).

Создайте `ConcatenationTable` из списка таблиц.

## Утилиты[[datasets.table.concat_tables]]

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

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1812)

**Параметры:**

tables (список `Table`) : список таблиц для склейки.

axis (`{0, 1}`, по умолчанию `0`, то есть по строкам) : Ось, по которой выполняется конкатенация, где `0` означает по строкам (вертикально), а `1` — по столбцам (горизонтально).

**Возвращает:** `datasets.table.Table`

Если количество входных таблиц > 1, то возвращаемая таблица является `datasets.table.ConcatenationTable`. В противном случае, если таблица одна, она возвращается без изменений.

Объединение таблиц.

#### datasets.table.list_table_cache_files[[datasets.table.list_table_cache_files]]

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

[Источник](https://github.com/huggingface/datasets/blob/main/src/datasets/table.py#L1835)

**Возвращает:** `List[str]`

Список путей к файлам кэша, загруженным таблицей.

Получите файлы кэша, загружаемые таблицей. Файлы кэша используются, когда части таблицы загружаются с диска через отображение в память (memory mapping).

