# Classes de tables

Chaque objet `Dataset` est adossé à une Table PyArrow. Une Table peut être chargée depuis le disque (mémoire mappée) ou en mémoire. Plusieurs types de Table sont disponibles, et ils héritent tous de [table.Table](/docs/datasets/v5.2.0/fr/package_reference/table_classes#datasets.table.Table).

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

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

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

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

Enveloppe un tableau pyarrow par composition. C'est la classe de base de `InMemoryTable`, `MemoryMappedTable` et `ConcatenationTable`.

Elle implémente tous les attributs/méthodes de base de la classe Table de pyarrow, à l’exception des transformations de Table : `slice, filter, flatten, combine_chunks, cast, add_column, append_column, remove_column, set_column, rename_columns` et `drop`.

L'implémentation de ces méthodes diffère selon les sous-classes.

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

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

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

**Paramètres :**

full (`bool`, par défaut `False`) : Si `True`, exécute des vérifications coûteuses, sinon uniquement des vérifications peu coûteuses.

**Levée :** ``pa.lib.ArrowInvalid``

- ``pa.lib.ArrowInvalid`` -- si la validation échoue

Effectuez des vérifications de validation. Une exception est levée si la validation échoue.

Par défaut, seules les vérifications de validation peu coûteuses sont exécutées. Passez `full=True` pour des vérifications de validation approfondies (potentiellement `O(n)`).

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

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

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

**Paramètres :**

other ([Table](/docs/datasets/v5.2.0/fr/package_reference/table_classes#datasets.table.Table)) : Table à laquelle comparer.

check_metadata `bool`, par défaut `False`) : Indique si l'égalité des métadonnées du schéma doit également être vérifiée.

**Retourne :** `bool`

Vérifier si le contenu de deux tables est égal.

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

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

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

**Paramètres :**

max_chunksize (`int`, par défaut `None`) : Taille maximale pour les blocs `RecordBatch`. Les blocs individuels peuvent être plus petits en fonction de la disposition des blocs des colonnes individuelles.

**Retourne :**

`List[pyarrow.RecordBatch]`

Convertit un tableau en liste d'objets `RecordBatch` (contigus).

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

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

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

**Retourne :** `dict`

Convertir le Table en `dict` ou `OrderedDict`.

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

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

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

**Paramètres :**

memory_pool (`MemoryPool`, par défaut `None`) : MemoryPool Arrow à utiliser pour les allocations. Utilise le pool mémoire par défaut si aucun n'est fourni.

strings_to_categorical (`bool`, par défaut `False`) : Encode les types de chaînes (UTF8) et binaires en `pandas.Categorical`.

categories (`list`, par défaut `empty`) : Liste de champs qui doivent être renvoyés en tant que `pandas.Categorical`. S'applique uniquement aux structures de données de type tableau.

zero_copy_only (`bool`, par défaut `False`) : Lève une `ArrowException` si cet appel de fonction nécessiterait de copier les données sous-jacentes.

integer_object_nulls (`bool`, par défaut `False`) : Convertit les entiers avec des valeurs nulles en objets.

date_as_object (`bool`, par défaut `True`) : Convertit les dates en objets. Si `False`, convertit en type de données `datetime64[ns]`.

timestamp_as_object (`bool`, par défaut `False`) : Convertit les horodatages non nanoseconde (`np.datetime64`) en objets. Cela est utile si vous avez des horodatages qui ne rentrent pas dans la plage de dates normale des horodatages nanoseconde (1678-2262). Si `False`, tous les horodatages sont convertis en type de données `datetime64[ns]`.

use_threads (`bool`, par défaut `True`) : Indique s'il faut paralléliser la conversion à l'aide de plusieurs threads.

deduplicate_objects (`bool`, par défaut `False`) : Ne pas créer de multiples copies des objets Python lors de leur création, afin d'économiser de la mémoire. La conversion sera plus lente.

ignore_metadata (`bool`, par défaut `False`) : Si `True`, n'utilise pas les métadonnées « pandas » pour reconstruire l'index du DataFrame, s'il est présent.

safe (`bool`, par défaut `True`) : Pour certains types de données, un cast est nécessaire pour stocker les données dans un DataFrame ou une Series pandas (par exemple, les horodatages sont toujours stockés en nanosecondes dans pandas). Cette option contrôle si le cast est sûr ou non.

split_blocks (`bool`, par défaut `False`) : Si `True`, génère un « bloc » interne pour chaque colonne lors de la création d'un pandas.DataFrame à partir d'un `RecordBatch` ou d'un `Table`. Bien que cela puisse réduire temporairement la mémoire, notez que diverses opérations pandas peuvent déclencher une « consolidation » qui peut faire exploser l'utilisation de la mémoire.

self_destruct (`bool`, par défaut `False`) : EXPÉRIMENTAL : Si `True`, tente de libérer la mémoire Arrow d’origine lors de la conversion de l’objet Arrow en pandas. Si vous utilisez l’objet après avoir appelé `to_pandas` avec cette option, votre programme plantera.

types_mapper (`function`, par défaut `None`) : Une fonction qui associe un type de données pyarrow à un `ExtensionDtype` pandas. Elle peut être utilisée pour remplacer le type pandas par défaut lors de la conversion des types pyarrow intégrés ou en l’absence de `pandas_metadata` dans le schéma du Table. La fonction reçoit un type de données pyarrow et doit renvoyer un `ExtensionDtype` pandas ou `None` si la conversion par défaut doit être utilisée pour ce type. Si vous disposez d’un dictionnaire d’association, vous pouvez passer `dict.get` en tant que fonction.

**Retourne :** `pandas.Series` ou `pandas.DataFrame`

`pandas.Series` ou `pandas.DataFrame` selon le type d'objet

Convertir en tableau NumPy ou DataFrame compatible pandas, selon le cas.

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

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

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

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

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

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

**Paramètres :**

i (`Union[int, str]`) : L'index ou le nom du champ à récupérer.

**Retourne :**

`pyarrow.Field`

Sélectionnez un champ du schéma par son nom de colonne ou son index numérique.

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

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

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

**Paramètres :**

i (`Union[int, str]`) : L'index ou le nom de la colonne à récupérer.

**Retourne :**

`pyarrow.ChunkedArray`

Sélectionnez une colonne par son nom de colonne ou son index numérique.

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

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

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

**Rend :**

`pyarrow.ChunkedArray`

Itérateur sur toutes les colonnes dans leur ordre numérique.

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

```python
schema()
```

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

**Retourne :**

`pyarrow.Schema`

Schéma de la table et de ses colonnes.

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

```python
columns()
```

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

**Retourne :**

`List[pa.ChunkedArray]`

Liste de toutes les colonnes dans l'ordre numérique.

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

```python
num_columns()
```

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

**Retourne :**

int

Nombre de colonnes dans ce tableau.

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

```python
num_rows()
```

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

**Retourne :**

int

Nombre de lignes dans ce tableau.

En raison de la définition d'un tableau, toutes les colonnes ont le même nombre de lignes.

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

```python
shape()
```

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

**Retourne :** `(int, int)`

Nombre de lignes et nombre de colonnes.

Dimensions du tableau : (#lignes, #colonnes).

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

```python
nbytes()
```

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

Nombre total d'octets consommés par les éléments du tableau.

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

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

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

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

On dit qu'un tableau est en mémoire (in-memory) lorsqu'il est chargé dans la RAM de l'utilisateur.

Le pickling copie bien toutes les données en mémoire. Son implémentation est simple et utilise directement les méthodes de la classe Table de pyarrow.

Ceci diffère du tableau `MemoryMapped`, pour lequel le pickling ne copie pas toutes les données en mémoire. Pour un `MemoryMapped`, l’unpickling recharge le tableau depuis le disque.

`InMemoryTable` doit être utilisé lorsque les données tiennent en mémoire, tandis que `MemoryMapped` est réservé aux données plus volumineuses que la mémoire ou lorsque vous souhaitez que l’empreinte mémoire de votre application reste faible.

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

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

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

**Paramètres :**

full (`bool`, par défaut `False`) : Si `True`, exécute des vérifications coûteuses, sinon uniquement des vérifications peu coûteuses.

**Levée :** ``pa.lib.ArrowInvalid``

- ``pa.lib.ArrowInvalid`` -- si la validation échoue

Effectuez des vérifications de validation. Une exception est levée si la validation échoue.

Par défaut, seules les vérifications de validation peu coûteuses sont exécutées. Passez `full=True` pour des vérifications de validation approfondies (potentiellement `O(n)`).

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

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

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

**Paramètres :**

other ([Table](/docs/datasets/v5.2.0/fr/package_reference/table_classes#datasets.table.Table)) : Table à laquelle comparer.

check_metadata `bool`, par défaut `False`) : Indique si l'égalité des métadonnées du schéma doit également être vérifiée.

**Retourne :** `bool`

Vérifier si le contenu de deux tables est égal.

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

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

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

**Paramètres :**

max_chunksize (`int`, par défaut `None`) : Taille maximale pour les blocs `RecordBatch`. Les blocs individuels peuvent être plus petits en fonction de la disposition des blocs des colonnes individuelles.

**Retourne :**

`List[pyarrow.RecordBatch]`

Convertit un tableau en liste d'objets `RecordBatch` (contigus).

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

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

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

**Retourne :** `dict`

Convertir le Table en `dict` ou `OrderedDict`.

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

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

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

**Paramètres :**

memory_pool (`MemoryPool`, par défaut `None`) : MemoryPool Arrow à utiliser pour les allocations. Utilise le pool mémoire par défaut si aucun n'est fourni.

strings_to_categorical (`bool`, par défaut `False`) : Encode les types de chaînes (UTF8) et binaires en `pandas.Categorical`.

categories (`list`, par défaut `empty`) : Liste de champs qui doivent être renvoyés en tant que `pandas.Categorical`. S'applique uniquement aux structures de données de type tableau.

zero_copy_only (`bool`, par défaut `False`) : Lève une `ArrowException` si cet appel de fonction nécessiterait de copier les données sous-jacentes.

integer_object_nulls (`bool`, par défaut `False`) : Convertit les entiers avec des valeurs nulles en objets.

date_as_object (`bool`, par défaut `True`) : Convertit les dates en objets. Si `False`, convertit en type de données `datetime64[ns]`.

timestamp_as_object (`bool`, par défaut `False`) : Convertit les horodatages non nanoseconde (`np.datetime64`) en objets. Cela est utile si vous avez des horodatages qui ne rentrent pas dans la plage de dates normale des horodatages nanoseconde (1678-2262). Si `False`, tous les horodatages sont convertis en type de données `datetime64[ns]`.

use_threads (`bool`, par défaut `True`) : Indique s'il faut paralléliser la conversion à l'aide de plusieurs threads.

deduplicate_objects (`bool`, par défaut `False`) : Ne pas créer de multiples copies des objets Python lors de leur création, afin d'économiser de la mémoire. La conversion sera plus lente.

ignore_metadata (`bool`, par défaut `False`) : Si `True`, n'utilise pas les métadonnées « pandas » pour reconstruire l'index du DataFrame, s'il est présent.

safe (`bool`, par défaut `True`) : Pour certains types de données, un cast est nécessaire pour stocker les données dans un DataFrame ou une Series pandas (par exemple, les horodatages sont toujours stockés en nanosecondes dans pandas). Cette option contrôle si le cast est sûr ou non.

split_blocks (`bool`, par défaut `False`) : Si `True`, génère un « bloc » interne pour chaque colonne lors de la création d'un pandas.DataFrame à partir d'un `RecordBatch` ou d'un `Table`. Bien que cela puisse réduire temporairement la mémoire, notez que diverses opérations pandas peuvent déclencher une « consolidation » qui peut faire exploser l'utilisation de la mémoire.

self_destruct (`bool`, par défaut `False`) : EXPÉRIMENTAL : Si `True`, tente de libérer la mémoire Arrow d’origine lors de la conversion de l’objet Arrow en pandas. Si vous utilisez l’objet après avoir appelé `to_pandas` avec cette option, votre programme plantera.

types_mapper (`function`, par défaut `None`) : Une fonction qui associe un type de données pyarrow à un `ExtensionDtype` pandas. Elle peut être utilisée pour remplacer le type pandas par défaut lors de la conversion des types pyarrow intégrés ou en l’absence de `pandas_metadata` dans le schéma du Table. La fonction reçoit un type de données pyarrow et doit renvoyer un `ExtensionDtype` pandas ou `None` si la conversion par défaut doit être utilisée pour ce type. Si vous disposez d’un dictionnaire d’association, vous pouvez passer `dict.get` en tant que fonction.

**Retourne :** `pandas.Series` ou `pandas.DataFrame`

`pandas.Series` ou `pandas.DataFrame` selon le type d'objet

Convertir en tableau NumPy ou DataFrame compatible pandas, selon le cas.

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

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

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

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

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

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

**Paramètres :**

i (`Union[int, str]`) : L'index ou le nom du champ à récupérer.

**Retourne :**

`pyarrow.Field`

Sélectionnez un champ du schéma par son nom de colonne ou son index numérique.

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

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

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

**Paramètres :**

i (`Union[int, str]`) : L'index ou le nom de la colonne à récupérer.

**Retourne :**

`pyarrow.ChunkedArray`

Sélectionnez une colonne par son nom de colonne ou son index numérique.

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

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

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

**Rend :**

`pyarrow.ChunkedArray`

Itérateur sur toutes les colonnes dans leur ordre numérique.

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

```python
schema()
```

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

**Retourne :**

`pyarrow.Schema`

Schéma de la table et de ses colonnes.

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

```python
columns()
```

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

**Retourne :**

`List[pa.ChunkedArray]`

Liste de toutes les colonnes dans l'ordre numérique.

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

```python
num_columns()
```

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

**Retourne :**

int

Nombre de colonnes dans ce tableau.

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

```python
num_rows()
```

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

**Retourne :**

int

Nombre de lignes dans ce tableau.

En raison de la définition d'un tableau, toutes les colonnes ont le même nombre de lignes.

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

```python
shape()
```

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

**Retourne :** `(int, int)`

Nombre de lignes et nombre de colonnes.

Dimensions du tableau : (#lignes, #colonnes).

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

```python
nbytes()
```

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

Nombre total d'octets consommés par les éléments du tableau.

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

```python
column_names()
```

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

Noms des colonnes du tableau.

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

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

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

**Paramètres :**

offset (`int`, par défaut `0`) : Décalage depuis le début du tableau pour la tranche.

length (`int`, par défaut `None`) : Longueur de la tranche (par défaut, jusqu'à la fin du tableau à partir du décalage).

**Retourne :**

`datasets.table.Table`

Calculer une tranche sans copie de ce Table.

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

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

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

Sélectionner des enregistrements depuis une Table. Voir `pyarrow.compute.filter` pour un usage complet.

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

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

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

**Paramètres :**

memory_pool (`MemoryPool`, par défaut `None`) : Pour les allocations mémoire, si nécessaire, sinon utiliser le pool par défaut.

**Retourne :**

`datasets.table.Table`

Aplatir ce tableau. Chaque colonne de type struct est aplatie en une colonne par champ du struct. Les autres colonnes sont laissées inchangées.

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

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

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

**Paramètres :**

memory_pool (`MemoryPool`, par défaut `None`) : Pour les allocations mémoire, si nécessaire, sinon utiliser le pool par défaut.

**Retourne :**

`datasets.table.Table`

Créez un nouveau tableau en combinant les morceaux de ce tableau.

Tous les blocs sous-jacents du `ChunkedArray` de chaque colonne sont concaténés en zéro ou un seul bloc.

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

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

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

**Paramètres :**

target_schema (`Schema`) : Schéma vers lequel effectuer le cast ; les noms et l'ordre des champs doivent correspondre.

safe (`bool`, par défaut `True`) : Vérifie les dépassements de capacité ou d'autres conversions non sûres.

**Retourne :**

`datasets.table.Table`

Convertir les valeurs du tableau vers un autre schéma.

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

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

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

**Paramètres :**

metadata (`dict`, par défaut `None`) --

**Retourne :** `datasets.table.Table`

shallow_copy

EXPÉRIMENTAL : Crée une copie superficielle du tableau en remplaçant les métadonnées clé-valeur du schéma par les nouvelles métadonnées indiquées (qui peuvent être `None`, ce qui supprime les métadonnées existantes).

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

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

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

**Paramètres :**

i (`int`) : Index à laquelle placer la colonne.

field_ (`Union[str, pyarrow.Field]`) : Si une chaîne de caractères est transmise, le type est déduit des données de la colonne.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : Données de la colonne.

**Retourne :** `datasets.table.Table`

Nouvelle table avec la colonne passée ajoutée.

Ajouter une colonne à la Table à la position.

Un nouveau tableau est renvoyé avec la colonne ajoutée, l'objet tableau d'origine reste inchangé.

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

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

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

**Paramètres :**

field_ (`Union[str, pyarrow.Field]`) : Si une chaîne de caractères est transmise, le type est déduit des données de la colonne.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : Données de la colonne.

**Retourne :** `datasets.table.Table`

Nouvelle table avec la colonne passée ajoutée.

Ajouter la colonne à la fin des colonnes.

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

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

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

**Paramètres :**

i (`int`) : Index de la colonne à supprimer.

**Retourne :** `datasets.table.Table`

Nouvelle table sans la colonne.

Créer un nouveau Table avec la colonne indiquée supprimée.

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

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

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

**Paramètres :**

i (`int`) : Index à laquelle placer la colonne.

field_ (`Union[str, pyarrow.Field]`) : Si une chaîne de caractères est transmise, le type est déduit des données de la colonne.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : Données de la colonne.

**Retourne :** `datasets.table.Table`

Nouvelle table avec l'ensemble de colonnes transmis.

Remplacer la colonne du tableau à la position.

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

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

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

Créer un nouveau tableau avec des colonnes renommées selon les noms fournis.

#### sélectionner[[datasets.table.InMemoryTable.select]]

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

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

**Paramètres :**

columns (`Union[List[str], List[int]]`) : Les noms de colonnes ou les indices entiers à sélectionner.

**Retourne :** [datasets.table.Table](/docs/datasets/v5.2.0/fr/package_reference/table_classes#datasets.table.Table)

Nouvelle table avec les colonnes spécifiées et les métadonnées préservées.

Sélectionnez les colonnes du tableau.

Retourne un nouveau tableau avec les colonnes spécifiées et les métadonnées préservées.

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

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

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

**Paramètres :**

columns (`List[str]`) : Liste de noms de champs faisant référence à des colonnes existantes.

**Retourne :** `datasets.table.Table`

Nouveau tableau sans les colonnes.

**Levée :** ``KeyError``

- ``KeyError`` -- : si l'un des noms de colonnes transmis n'existe pas.

Supprimez une ou plusieurs colonnes et renvoyez un nouveau tableau.

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

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

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

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

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

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

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

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

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

**Paramètres :**

df (`pandas.DataFrame`) --

schema (`pyarrow.Schema`, *facultatif*) : Le schéma attendu de la table Arrow. Il peut être utilisé pour indiquer le type des colonnes si celui-ci ne peut pas être inféré automatiquement. S'il est fourni, la sortie aura exactement ce schéma. Les colonnes spécifiées dans le schéma mais absentes des colonnes du DataFrame ou de son index provoqueront une erreur. Les colonnes ou niveaux d'index supplémentaires du DataFrame qui ne sont pas spécifiés dans le schéma seront ignorés.

preserve_index (`bool`, *facultatif*) : Indique s'il faut stocker l'index en tant que colonne supplémentaire dans le `Table` résultant. La valeur par défaut None stocke l'index en tant que colonne, à l'exception de RangeIndex qui est stocké uniquement en tant que métadonnées. Utilisez `preserve_index=True` pour forcer son stockage en tant que colonne.

nthreads (`int`, par défaut `None` (peut utiliser jusqu'au nombre de cœurs CPU du système)) : Si supérieur à 1, convertit les colonnes en Arrow en parallèle en utilisant le nombre de threads indiqué.

columns (`List[str]`, *facultatif*) : Liste des colonnes à convertir. Si `None`, utilise toutes les colonnes.

safe (`bool`, par défaut `True`) : Vérifie les dépassements ou autres conversions non sûres,

**Retourne :** `datasets.table.Table`

Convertir un pandas.DataFrame en table Arrow.

Les types de colonnes de la table Arrow résultante sont inférés à partir des dtypes des pandas.Series dans le DataFrame. Dans le cas de Series non-object, le dtype NumPy est traduit en son équivalent Arrow. Dans le cas de `object`, il est nécessaire de deviner le type de données en examinant les objets Python présents dans cette Series.

Sachez que les Series de type `object` ne contiennent pas toujours suffisamment d’informations pour aboutir à un type Arrow significatif. Dans le cas où nous ne pouvons pas inférer un type, par exemple parce que la DataFrame a une longueur de 0 ou que la Series ne contient que des objets `None/nan`, le type est défini sur null. Ce comportement peut être évité en construisant un schéma explicite et en le transmettant à cette fonction.

Exemples :
```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)
```

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

**Paramètres :**

arrays (`List[Union[pyarrow.Array, pyarrow.ChunkedArray]]`) : Tableaux de longueur égale qui doivent former la table.

names (`List[str]`, *facultatif*) : Noms des colonnes du tableau. Si non fourni, le schéma doit être fourni.

schema (`Schema`, par défaut `None`) : Schéma de la table créée. S'il n'est pas fourni, les noms doivent être fournis.

metadata (`Union[dict, Mapping]`, par défaut `None`) : métadonnées facultatives pour le schéma (s'il est inféré).

**Retourne :**

`datasets.table.Table`

Construire une Table à partir de tableaux Arrow.

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

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

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

**Paramètres :**

mapping (`Union[dict, Mapping]`) : Un mapping de chaînes de caractères vers des tableaux ou des listes Python.

schema (`Schema`, par défaut `None`) : Si non fourni, il sera déduit des valeurs du Mapping

metadata (`Union[dict, Mapping]`, par défaut `None`) : métadonnées facultatives pour le schéma (s'il est inféré).

**Retourne :**

`datasets.table.Table`

Construire une Table à partir de tableaux ou de colonnes Arrow.

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

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

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

**Paramètres :**

batches (`Union[Sequence[pyarrow.RecordBatch], Iterator[pyarrow.RecordBatch]]`) : Séquence de `RecordBatch` à convertir, tous les schémas doivent être égaux.

schema (`Schema`, par défaut `None`) : Si non fourni, il sera inféré à partir du premier `RecordBatch`.

**Retourne :** `datasets.table.Table`

Construire une Table à partir d'une séquence ou d'un itérateur de `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)
```

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

On dit qu'un tableau est mappé en mémoire lorsqu'il n'utilise pas la RAM de l'utilisateur mais charge les données depuis le disque.

Le pickling ne copie pas les données en mémoire. À la place, seul le chemin vers le fichier arrow mappé en mémoire est picklé, ainsi que la liste des transformations à « rejouer » lors du rechargement de la table depuis le disque.

Sa implémentation nécessite de stocker l’historique de toutes les transformations appliquées à la Table pyarrow sous-jacente, afin qu’elles puissent être « rejouées » lors du rechargement de la Table depuis le disque.

Ceci est différent du tableau `InMemoryTable`, pour lequel le pickling copie bien toutes les données en mémoire.

`InMemoryTable` doit être utilisé lorsque les données tiennent en mémoire, tandis que `MemoryMapped` est réservé aux données plus volumineuses que la mémoire ou lorsque vous souhaitez que l’empreinte mémoire de votre application reste faible.

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

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

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

**Paramètres :**

full (`bool`, par défaut `False`) : Si `True`, exécute des vérifications coûteuses, sinon uniquement des vérifications peu coûteuses.

**Levée :** ``pa.lib.ArrowInvalid``

- ``pa.lib.ArrowInvalid`` -- si la validation échoue

Effectuez des vérifications de validation. Une exception est levée si la validation échoue.

Par défaut, seules les vérifications de validation peu coûteuses sont exécutées. Passez `full=True` pour des vérifications de validation approfondies (potentiellement `O(n)`).

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

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

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

**Paramètres :**

other ([Table](/docs/datasets/v5.2.0/fr/package_reference/table_classes#datasets.table.Table)) : Table à laquelle comparer.

check_metadata `bool`, par défaut `False`) : Indique si l'égalité des métadonnées du schéma doit également être vérifiée.

**Retourne :** `bool`

Vérifier si le contenu de deux tables est égal.

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

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

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

**Paramètres :**

max_chunksize (`int`, par défaut `None`) : Taille maximale pour les blocs `RecordBatch`. Les blocs individuels peuvent être plus petits en fonction de la disposition des blocs des colonnes individuelles.

**Retourne :**

`List[pyarrow.RecordBatch]`

Convertit un tableau en liste d'objets `RecordBatch` (contigus).

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

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

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

**Retourne :** `dict`

Convertir le Table en `dict` ou `OrderedDict`.

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

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

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

**Paramètres :**

memory_pool (`MemoryPool`, par défaut `None`) : MemoryPool Arrow à utiliser pour les allocations. Utilise le pool mémoire par défaut si aucun n'est fourni.

strings_to_categorical (`bool`, par défaut `False`) : Encode les types de chaînes (UTF8) et binaires en `pandas.Categorical`.

categories (`list`, par défaut `empty`) : Liste de champs qui doivent être renvoyés en tant que `pandas.Categorical`. S'applique uniquement aux structures de données de type tableau.

zero_copy_only (`bool`, par défaut `False`) : Lève une `ArrowException` si cet appel de fonction nécessiterait de copier les données sous-jacentes.

integer_object_nulls (`bool`, par défaut `False`) : Convertit les entiers avec des valeurs nulles en objets.

date_as_object (`bool`, par défaut `True`) : Convertit les dates en objets. Si `False`, convertit en type de données `datetime64[ns]`.

timestamp_as_object (`bool`, par défaut `False`) : Convertit les horodatages non nanoseconde (`np.datetime64`) en objets. Cela est utile si vous avez des horodatages qui ne rentrent pas dans la plage de dates normale des horodatages nanoseconde (1678-2262). Si `False`, tous les horodatages sont convertis en type de données `datetime64[ns]`.

use_threads (`bool`, par défaut `True`) : Indique s'il faut paralléliser la conversion à l'aide de plusieurs threads.

deduplicate_objects (`bool`, par défaut `False`) : Ne pas créer de multiples copies des objets Python lors de leur création, afin d'économiser de la mémoire. La conversion sera plus lente.

ignore_metadata (`bool`, par défaut `False`) : Si `True`, n'utilise pas les métadonnées « pandas » pour reconstruire l'index du DataFrame, s'il est présent.

safe (`bool`, par défaut `True`) : Pour certains types de données, un cast est nécessaire pour stocker les données dans un DataFrame ou une Series pandas (par exemple, les horodatages sont toujours stockés en nanosecondes dans pandas). Cette option contrôle si le cast est sûr ou non.

split_blocks (`bool`, par défaut `False`) : Si `True`, génère un « bloc » interne pour chaque colonne lors de la création d'un pandas.DataFrame à partir d'un `RecordBatch` ou d'un `Table`. Bien que cela puisse réduire temporairement la mémoire, notez que diverses opérations pandas peuvent déclencher une « consolidation » qui peut faire exploser l'utilisation de la mémoire.

self_destruct (`bool`, par défaut `False`) : EXPÉRIMENTAL : Si `True`, tente de libérer la mémoire Arrow d’origine lors de la conversion de l’objet Arrow en pandas. Si vous utilisez l’objet après avoir appelé `to_pandas` avec cette option, votre programme plantera.

types_mapper (`function`, par défaut `None`) : Une fonction qui associe un type de données pyarrow à un `ExtensionDtype` pandas. Elle peut être utilisée pour remplacer le type pandas par défaut lors de la conversion des types pyarrow intégrés ou en l’absence de `pandas_metadata` dans le schéma du Table. La fonction reçoit un type de données pyarrow et doit renvoyer un `ExtensionDtype` pandas ou `None` si la conversion par défaut doit être utilisée pour ce type. Si vous disposez d’un dictionnaire d’association, vous pouvez passer `dict.get` en tant que fonction.

**Retourne :** `pandas.Series` ou `pandas.DataFrame`

`pandas.Series` ou `pandas.DataFrame` selon le type d'objet

Convertir en tableau NumPy ou DataFrame compatible pandas, selon le cas.

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

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

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

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

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

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

**Paramètres :**

i (`Union[int, str]`) : L'index ou le nom du champ à récupérer.

**Retourne :**

`pyarrow.Field`

Sélectionnez un champ du schéma par son nom de colonne ou son index numérique.

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

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

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

**Paramètres :**

i (`Union[int, str]`) : L'index ou le nom de la colonne à récupérer.

**Retourne :**

`pyarrow.ChunkedArray`

Sélectionnez une colonne par son nom de colonne ou son index numérique.

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

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

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

**Rend :**

`pyarrow.ChunkedArray`

Itérateur sur toutes les colonnes dans leur ordre numérique.

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

```python
schema()
```

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

**Retourne :**

`pyarrow.Schema`

Schéma de la table et de ses colonnes.

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

```python
columns()
```

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

**Retourne :**

`List[pa.ChunkedArray]`

Liste de toutes les colonnes dans l'ordre numérique.

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

```python
num_columns()
```

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

**Retourne :**

int

Nombre de colonnes dans ce tableau.

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

```python
num_rows()
```

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

**Retourne :**

int

Nombre de lignes dans ce tableau.

En raison de la définition d'un tableau, toutes les colonnes ont le même nombre de lignes.

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

```python
shape()
```

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

**Retourne :** `(int, int)`

Nombre de lignes et nombre de colonnes.

Dimensions du tableau : (#lignes, #colonnes).

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

```python
nbytes()
```

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

Nombre total d'octets consommés par les éléments du tableau.

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

```python
column_names()
```

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

Noms des colonnes du tableau.

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

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

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

**Paramètres :**

offset (`int`, par défaut `0`) : Décalage depuis le début du tableau pour la tranche.

length (`int`, par défaut `None`) : Longueur de la tranche (par défaut, jusqu'à la fin du tableau à partir du décalage).

**Retourne :**

`datasets.table.Table`

Calculer une tranche sans copie de ce Table.

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

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

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

Sélectionner des enregistrements depuis une Table. Voir `pyarrow.compute.filter` pour un usage complet.

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

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

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

**Paramètres :**

memory_pool (`MemoryPool`, par défaut `None`) : Pour les allocations mémoire, si nécessaire, sinon utiliser le pool par défaut.

**Retourne :**

`datasets.table.Table`

Aplatir ce tableau. Chaque colonne de type struct est aplatie en une colonne par champ du struct. Les autres colonnes sont laissées inchangées.

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

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

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

**Paramètres :**

memory_pool (`MemoryPool`, par défaut `None`) : Pour les allocations mémoire, si nécessaire, sinon utiliser le pool par défaut.

**Retourne :**

`datasets.table.Table`

Créez un nouveau tableau en combinant les morceaux de ce tableau.

Tous les blocs sous-jacents du ChunkedArray de chaque colonne sont concaténés en zéro ou un seul bloc.

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

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

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

**Paramètres :**

target_schema (`Schema`) : Schéma vers lequel effectuer le cast ; les noms et l'ordre des champs doivent correspondre.

safe (`bool`, par défaut `True`) : Vérifie les dépassements de capacité ou d'autres conversions non sûres.

**Retourne :**

`datasets.table.Table`

Convertir les valeurs du tableau vers un autre schéma

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

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

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

**Paramètres :**

metadata (`dict`, par défaut `None`) --

**Retourne :** `datasets.table.Table`

shallow_copy

EXPÉRIMENTAL : Crée une copie superficielle du tableau en remplaçant les métadonnées clé-valeur du schéma par les nouvelles métadonnées indiquées (qui peuvent être None, ce qui supprime les métadonnées existantes).

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

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

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

**Paramètres :**

i (`int`) : Index à laquelle placer la colonne.

field_ (`Union[str, pyarrow.Field]`) : Si une chaîne de caractères est transmise, le type est déduit des données de la colonne.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : Données de la colonne.

**Retourne :** `datasets.table.Table`

Nouvelle table avec la colonne passée ajoutée.

Ajouter une colonne à la Table à la position.

Un nouveau tableau est renvoyé avec la colonne ajoutée, l'objet tableau d'origine reste inchangé.

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

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

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

**Paramètres :**

field_ (`Union[str, pyarrow.Field]`) : Si une chaîne de caractères est transmise, le type est déduit des données de la colonne.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : Données de la colonne.

**Retourne :** `datasets.table.Table`

Nouvelle table avec la colonne passée ajoutée.

Ajouter la colonne à la fin des colonnes.

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

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

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

**Paramètres :**

i (`int`) : Index de la colonne à supprimer.

**Retourne :** `datasets.table.Table`

Nouvelle table sans la colonne.

Créer un nouveau Table avec la colonne indiquée supprimée.

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

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

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

**Paramètres :**

i (`int`) : Index à laquelle placer la colonne.

field_ (`Union[str, pyarrow.Field]`) : Si une chaîne de caractères est transmise, le type est déduit des données de la colonne.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : Données de la colonne.

**Retourne :** `datasets.table.Table`

Nouvelle table avec l'ensemble de colonnes transmis.

Remplacer la colonne du tableau à la position.

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

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

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

Créer un nouveau tableau avec des colonnes renommées selon les noms fournis.

#### sélectionner[[datasets.table.MemoryMappedTable.select]]

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

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

**Paramètres :**

columns (`Union[List[str], List[int]]`) : Les noms de colonnes ou les indices entiers à sélectionner.

**Retourne :** [datasets.table.Table](/docs/datasets/v5.2.0/fr/package_reference/table_classes#datasets.table.Table)

Nouvelle table avec les colonnes spécifiées et les métadonnées préservées.

Sélectionnez les colonnes du tableau.

Retourne un nouveau tableau avec les colonnes spécifiées et les métadonnées préservées.

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

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

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

**Paramètres :**

columns (`List[str]`) : Liste de noms de champs faisant référence à des colonnes existantes.

**Retourne :** `datasets.table.Table`

Nouveau tableau sans les colonnes.

**Levée :** ``KeyError``

- ``KeyError`` -- : si l'un des noms de colonnes transmis n'existe pas.

Supprimez une ou plusieurs colonnes et renvoyez un nouveau tableau.

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

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

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

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

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

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

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

Le tableau provient de la concaténation de plusieurs tableaux appelés blocs. Il permet la concaténation à la fois sur l'axe 0 (ajout de lignes) et sur l'axe 1 (ajout de colonnes).

Les tables sous-jacentes sont appelées « blocs » et peuvent être des objets `InMemoryTable` ou `MemoryMappedTable`. Cela permet de combiner des tables issues de la mémoire ou mappées en mémoire. Lorsqu'un `ConcatenationTable` est sérialisé avec pickle, chaque bloc est sérialisé :
- les objets `InMemoryTable` sont sérialisés en copiant toutes les données en mémoire.
- les objets MemoryMappedTable sont sérialisés sans copier les données en mémoire.
En revanche, seul le chemin vers le fichier arrow mappé en mémoire est sérialisé, ainsi que la liste des transformations à « rejouer » lors du rechargement du tableau depuis le disque.

Sa mise en œuvre nécessite de stocker chaque bloc séparément. L'attribut `blocks` stocke une liste de listes de blocs. Le premier axe concatène les tables le long de l'axe 0 (il ajoute des lignes), tandis que le second axe concatène les tables le long de l'axe 1 (il ajoute des colonnes).

Si certaines colonnes sont manquantes lors de la concaténation sur l'axe 0, elles sont remplies avec des valeurs nulles. Cela est réalisé à l'aide de `pyarrow.concat_tables(tables, promote=True)`.

Vous pouvez accéder à la table entièrement combinée en accédant à l'attribut `ConcatenationTable.table`, et aux blocs en accédant à l'attribut `ConcatenationTable.blocks`.

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

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

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

**Paramètres :**

full (`bool`, par défaut `False`) : Si `True`, exécute des vérifications coûteuses, sinon uniquement des vérifications peu coûteuses.

**Levée :** ``pa.lib.ArrowInvalid``

- ``pa.lib.ArrowInvalid`` -- si la validation échoue

Effectuez des vérifications de validation. Une exception est levée si la validation échoue.

Par défaut, seules les vérifications de validation peu coûteuses sont exécutées. Passez `full=True` pour des vérifications de validation approfondies (potentiellement `O(n)`).

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

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

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

**Paramètres :**

other ([Table](/docs/datasets/v5.2.0/fr/package_reference/table_classes#datasets.table.Table)) : Table à laquelle comparer.

check_metadata `bool`, par défaut `False`) : Indique si l'égalité des métadonnées du schéma doit également être vérifiée.

**Retourne :** `bool`

Vérifier si le contenu de deux tables est égal.

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

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

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

**Paramètres :**

max_chunksize (`int`, par défaut `None`) : Taille maximale pour les blocs `RecordBatch`. Les blocs individuels peuvent être plus petits en fonction de la disposition des blocs des colonnes individuelles.

**Retourne :**

`List[pyarrow.RecordBatch]`

Convertit un tableau en liste d'objets `RecordBatch` (contigus).

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

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

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

**Retourne :** `dict`

Convertir le Table en `dict` ou `OrderedDict`.

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

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

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

**Paramètres :**

memory_pool (`MemoryPool`, par défaut `None`) : MemoryPool Arrow à utiliser pour les allocations. Utilise le pool mémoire par défaut si aucun n'est fourni.

strings_to_categorical (`bool`, par défaut `False`) : Encode les types de chaînes (UTF8) et binaires en `pandas.Categorical`.

categories (`list`, par défaut `empty`) : Liste de champs qui doivent être renvoyés en tant que `pandas.Categorical`. S'applique uniquement aux structures de données de type tableau.

zero_copy_only (`bool`, par défaut `False`) : Lève une `ArrowException` si cet appel de fonction nécessiterait de copier les données sous-jacentes.

integer_object_nulls (`bool`, par défaut `False`) : Convertit les entiers avec des valeurs nulles en objets.

date_as_object (`bool`, par défaut `True`) : Convertit les dates en objets. Si `False`, convertit en type de données `datetime64[ns]`.

timestamp_as_object (`bool`, par défaut `False`) : Convertit les horodatages non nanoseconde (`np.datetime64`) en objets. Cela est utile si vous avez des horodatages qui ne rentrent pas dans la plage de dates normale des horodatages nanoseconde (1678-2262). Si `False`, tous les horodatages sont convertis en type de données `datetime64[ns]`.

use_threads (`bool`, par défaut `True`) : Indique s'il faut paralléliser la conversion à l'aide de plusieurs threads.

deduplicate_objects (`bool`, par défaut `False`) : Ne pas créer de multiples copies des objets Python lors de leur création, afin d'économiser de la mémoire. La conversion sera plus lente.

ignore_metadata (`bool`, par défaut `False`) : Si `True`, n'utilise pas les métadonnées « pandas » pour reconstruire l'index du DataFrame, s'il est présent.

safe (`bool`, par défaut `True`) : Pour certains types de données, un cast est nécessaire pour stocker les données dans un DataFrame ou une Series pandas (par exemple, les horodatages sont toujours stockés en nanosecondes dans pandas). Cette option contrôle si le cast est sûr ou non.

split_blocks (`bool`, par défaut `False`) : Si `True`, génère un « bloc » interne pour chaque colonne lors de la création d'un pandas.DataFrame à partir d'un `RecordBatch` ou d'un `Table`. Bien que cela puisse réduire temporairement la mémoire, notez que diverses opérations pandas peuvent déclencher une « consolidation » qui peut faire exploser l'utilisation de la mémoire.

self_destruct (`bool`, par défaut `False`) : EXPÉRIMENTAL : Si `True`, tente de libérer la mémoire Arrow d’origine lors de la conversion de l’objet Arrow en pandas. Si vous utilisez l’objet après avoir appelé `to_pandas` avec cette option, votre programme plantera.

types_mapper (`function`, par défaut `None`) : Une fonction qui associe un type de données pyarrow à un `ExtensionDtype` pandas. Elle peut être utilisée pour remplacer le type pandas par défaut lors de la conversion des types pyarrow intégrés ou en l’absence de `pandas_metadata` dans le schéma du Table. La fonction reçoit un type de données pyarrow et doit renvoyer un `ExtensionDtype` pandas ou `None` si la conversion par défaut doit être utilisée pour ce type. Si vous disposez d’un dictionnaire d’association, vous pouvez passer `dict.get` en tant que fonction.

**Retourne :** `pandas.Series` ou `pandas.DataFrame`

`pandas.Series` ou `pandas.DataFrame` selon le type d'objet

Convertir en tableau NumPy ou DataFrame compatible pandas, selon le cas.

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

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

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

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

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

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

**Paramètres :**

i (`Union[int, str]`) : L'index ou le nom du champ à récupérer.

**Retourne :**

`pyarrow.Field`

Sélectionnez un champ du schéma par son nom de colonne ou son index numérique.

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

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

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

**Paramètres :**

i (`Union[int, str]`) : L'index ou le nom de la colonne à récupérer.

**Retourne :**

`pyarrow.ChunkedArray`

Sélectionnez une colonne par son nom de colonne ou son index numérique.

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

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

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

**Rend :**

`pyarrow.ChunkedArray`

Itérateur sur toutes les colonnes dans leur ordre numérique.

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

```python
schema()
```

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

**Retourne :**

`pyarrow.Schema`

Schéma de la table et de ses colonnes.

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

```python
columns()
```

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

**Retourne :**

`List[pa.ChunkedArray]`

Liste de toutes les colonnes dans l'ordre numérique.

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

```python
num_columns()
```

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

**Retourne :**

int

Nombre de colonnes dans ce tableau.

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

```python
num_rows()
```

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

**Retourne :**

int

Nombre de lignes dans ce tableau.

En raison de la définition d'un tableau, toutes les colonnes ont le même nombre de lignes.

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

```python
shape()
```

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

**Retourne :** `(int, int)`

Nombre de lignes et nombre de colonnes.

Dimensions du tableau : (#lignes, #colonnes).

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

```python
nbytes()
```

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

Nombre total d'octets consommés par les éléments du tableau.

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

```python
column_names()
```

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

Noms des colonnes du tableau.

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

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

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

**Paramètres :**

offset (`int`, par défaut `0`) : Décalage depuis le début du tableau pour la tranche.

length (`int`, par défaut `None`) : Longueur de la tranche (par défaut, jusqu'à la fin du tableau à partir du décalage).

**Retourne :**

`datasets.table.Table`

Calculer une tranche sans copie de ce Table.

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

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

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

Sélectionner des enregistrements depuis une Table. Voir `pyarrow.compute.filter` pour un usage complet.

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

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

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

**Paramètres :**

memory_pool (`MemoryPool`, par défaut `None`) : Pour les allocations mémoire, si nécessaire, sinon utiliser le pool par défaut.

**Retourne :**

`datasets.table.Table`

Aplatir ce tableau. Chaque colonne de type struct est aplatie en une colonne par champ du struct. Les autres colonnes sont laissées inchangées.

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

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

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

**Paramètres :**

memory_pool (`MemoryPool`, par défaut `None`) : Pour les allocations mémoire, si nécessaire, sinon utiliser le pool par défaut.

**Retourne :**

`datasets.table.Table`

Créez un nouveau tableau en combinant les morceaux de ce tableau.

Tous les blocs sous-jacents du `ChunkedArray` de chaque colonne sont concaténés en zéro ou un seul bloc.

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

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

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

**Paramètres :**

target_schema (`Schema`) : Schéma vers lequel effectuer le cast ; les noms et l'ordre des champs doivent correspondre.

safe (`bool`, par défaut `True`) : Vérifie les dépassements de capacité ou d'autres conversions non sûres.

**Retourne :**

`datasets.table.Table`

Convertir les valeurs du tableau vers un autre schéma.

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

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

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

**Paramètres :**

metadata (`dict`, par défaut `None`) --

**Retourne :** `datasets.table.Table`

shallow_copy

EXPÉRIMENTAL : Crée une copie superficielle du tableau en remplaçant les métadonnées clé-valeur du schéma par les nouvelles métadonnées indiquées (qui peuvent être `None`, ce qui supprime les métadonnées existantes).

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

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

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

**Paramètres :**

i (`int`) : Index à laquelle placer la colonne.

field_ (`Union[str, pyarrow.Field]`) : Si une chaîne de caractères est transmise, le type est déduit des données de la colonne.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : Données de la colonne.

**Retourne :** `datasets.table.Table`

Nouvelle table avec la colonne passée ajoutée.

Ajouter une colonne à la Table à la position.

Un nouveau tableau est renvoyé avec la colonne ajoutée, l'objet tableau d'origine reste inchangé.

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

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

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

**Paramètres :**

field_ (`Union[str, pyarrow.Field]`) : Si une chaîne de caractères est transmise, le type est déduit des données de la colonne.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : Données de la colonne.

**Retourne :** `datasets.table.Table`

Nouvelle table avec la colonne passée ajoutée.

Ajouter la colonne à la fin des colonnes.

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

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

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

**Paramètres :**

i (`int`) : Index de la colonne à supprimer.

**Retourne :** `datasets.table.Table`

Nouvelle table sans la colonne.

Créer un nouveau Table avec la colonne indiquée supprimée.

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

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

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

**Paramètres :**

i (`int`) : Index à laquelle placer la colonne.

field_ (`Union[str, pyarrow.Field]`) : Si une chaîne de caractères est transmise, le type est déduit des données de la colonne.

column (`Union[pyarrow.Array, List[pyarrow.Array]]`) : Données de la colonne.

**Retourne :** `datasets.table.Table`

Nouvelle table avec l'ensemble de colonnes transmis.

Remplacer la colonne du tableau à la position.

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

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

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

Créer un nouveau tableau avec des colonnes renommées selon les noms fournis.

#### sélectionner[[datasets.table.ConcatenationTable.select]]

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

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

**Paramètres :**

columns (`Union[List[str], List[int]]`) : Les noms de colonnes ou les indices entiers à sélectionner.

**Retourne :** [datasets.table.Table](/docs/datasets/v5.2.0/fr/package_reference/table_classes#datasets.table.Table)

Nouvelle table avec les colonnes spécifiées et les métadonnées préservées.

Sélectionnez les colonnes du tableau.

Retourne un nouveau tableau avec les colonnes spécifiées et les métadonnées préservées.

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

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

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

**Paramètres :**

columns (`List[str]`) : Liste de noms de champs faisant référence à des colonnes existantes.

**Retourne :** `datasets.table.Table`

Nouveau tableau sans les colonnes.

**Levée :** ``KeyError``

- ``KeyError`` -- : si l'un des noms de colonnes transmis n'existe pas.

Supprimez une ou plusieurs colonnes et renvoyez un nouveau tableau.

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

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

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

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

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

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

**Paramètres :**

tables (liste de `Table` ou liste de `pyarrow.Table`) : Liste de tables.

axis (`{0, 1}`, par défaut `0`, ce qui signifie sur les lignes) : Axe sur lequel concaténer, où `0` signifie sur les lignes (verticalement) et `1` signifie sur les colonnes (horizontalement).

Créer `ConcatenationTable` à partir d'une liste de tables.

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

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

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

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

**Paramètres :**

tables (liste de `Table`) : Liste de tables à concaténer.

axis (`{0, 1}`, par défaut `0`, ce qui signifie sur les lignes) : Axe sur lequel concaténer, où `0` signifie sur les lignes (verticalement) et `1` signifie sur les colonnes (horizontalement).

**Retourne :** `datasets.table.Table`

Si le nombre de tables d’entrée est > 1, la table renvoyée est une `datasets.table.ConcatenationTable`. Sinon, s’il n’y a qu’une seule table, elle est renvoyée telle quelle.

Concaténer des tables.

#### datasets.table.list_table_cache_files[[datasets.table.list_table_cache_files]]

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

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

**Retourne :** `List[str]`

Une liste des chemins des fichiers de cache chargés par le tableau.

Récupérez les fichiers de cache chargés par le tableau. Les fichiers de cache sont utilisés lorsque des parties du tableau proviennent du disque via le mappage mémoire.

