Datasets documentation

Classes de tables

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v4.8.4).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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.

Tableau

classe datasets.table.Table

< >

( table: Table )

Enveloppe un tableau pyarrow en utilisant la composition. Ceci est la classe de base pour 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.

validate

< >

( *args**kwargs )

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.

Lève

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

< >

( *args**kwargs ) → bool

Paramètres

  • other (Table) — Tableau à 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

< >

( *args**kwargs )

Paramètres

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

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

to_pydict

< >

( *args**kwargs ) → dict

Retourne

dict

Convertir le Table en dict ou OrderedDict.

to_pandas

< >

( *args**kwargs ) → pandas.Series or pandas.DataFrame

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 passé.
  • 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 des 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 contenant 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 plusieurs 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 DataType pyarrow à un ExtensionDtype pandas. Cela permet de 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 de la Table. La fonction reçoit un DataType pyarrow et doit renvoyer un ExtensionDtype pandas ou None si la conversion par défaut doit être utilisée pour ce type. Si vous avez 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

< >

( *args**kwargs )

champ

< >

( *args**kwargs )

Paramètres

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

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

colonne

< >

( *args**kwargs )

Paramètres

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

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

itercolumns

< >

( *args**kwargs )

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

schéma

< >

( )

Schéma de la table et de ses colonnes.

colonnes de

< >

( )

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

num_columns

< >

( )

Nombre de colonnes dans ce tableau.

num_rows

< >

( )

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

< >

( ) → (int, int)

Retourne

(int, int)

Nombre de lignes et nombre de colonnes.

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

octets

< >

( )

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

InMemoryTable

classe datasets.table.InMemoryTable

< >

( table: Table )

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. Sa implémentation est simple et utilise directement les méthodes de la Table pyarrow sous-jacente.

Ceci est différent du tableau MemoryMapped, pour lequel le pickling ne copie pas toutes les données en mémoire. Pour un MemoryMapped, le dépickling recharge le tableau depuis le disque.

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

validate

< >

( *args**kwargs )

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.

Lève

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

< >

( *args**kwargs ) → bool

Paramètres

  • other (Table) — Tableau à 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

< >

( *args**kwargs )

Paramètres

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

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

to_pydict

< >

( *args**kwargs ) → dict

Retourne

dict

Convertir le Table en dict ou OrderedDict.

to_pandas

< >

( *args**kwargs ) → pandas.Series or pandas.DataFrame

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 passé.
  • 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 des 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 contenant 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 plusieurs 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 DataType pyarrow à un ExtensionDtype pandas. Cela permet de 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 de la Table. La fonction reçoit un DataType pyarrow et doit renvoyer un ExtensionDtype pandas ou None si la conversion par défaut doit être utilisée pour ce type. Si vous avez 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

< >

( *args**kwargs )

champ

< >

( *args**kwargs )

Paramètres

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

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

colonne

< >

( *args**kwargs )

Paramètres

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

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

itercolumns

< >

( *args**kwargs )

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

schéma

< >

( )

Schéma de la table et de ses colonnes.

colonnes de

< >

( )

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

num_columns

< >

( )

Nombre de colonnes dans ce tableau.

num_rows

< >

( )

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

< >

( ) → (int, int)

Retourne

(int, int)

Nombre de lignes et nombre de colonnes.

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

octets

< >

( )

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

column_names

< >

( )

Noms des colonnes du tableau.

slice

< >

( offset = 0length = None )

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

Calculer une tranche sans copie de ce Table.

filter

< >

( *args**kwargs )

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

flatten

< >

( *args**kwargs )

Paramètres

  • memory_pool (MemoryPool, par défaut None) — Pour les allocations mémoire, si nécessaire, sinon utilise le pool par défaut.

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

< >

( *args**kwargs )

Paramètres

  • memory_pool (MemoryPool, par défaut None) — Pour les allocations mémoire, si nécessaire, sinon utilise le pool par défaut.

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

< >

( *args**kwargs )

Paramètres

  • target_schema (Schema) — Schéma de destination vers lequel convertir ; 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.

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

replace_schema_metadata

< >

( *args**kwargs ) → datasets.table.Table

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

< >

( *args**kwargs ) → datasets.table.Table

Paramètres

  • i (int) — Index à l'emplacement duquel 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

< >

( *args**kwargs ) → datasets.table.Table

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

< >

( *args**kwargs ) → datasets.table.Table

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

< >

( *args**kwargs ) → datasets.table.Table

Paramètres

  • i (int) — Index à l'emplacement duquel 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

< >

( *args**kwargs )

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

sélectionner

< >

( *args**kwargs ) → datasets.table.Table

Paramètres

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

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

< >

( *args**kwargs ) → datasets.table.Table

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.

Lève

KeyError

  • KeyError — : si l'un des noms de colonnes passés n'existe pas.

Supprimez une ou plusieurs colonnes et renvoyez un nouveau tableau.

from_file

< >

( filename: str )

from_buffer

< >

( buffer: Buffer )

from_pandas

< >

( *args**kwargs ) → datasets.table.Table

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 la Table résultante. 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 de capacité ou d'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 des 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 contenus 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 :

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

< >

( *args**kwargs )

Paramètres

  • arrays (List[Union[pyarrow.Array, pyarrow.ChunkedArray]]) — Tableaux de longueur égale qui doivent former le tableau.
  • names (List[str], facultatif) — Noms des colonnes du tableau. S'il n'est pas 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é).

Construire une Table à partir de tableaux Arrow.

from_pydict

< >

( *args**kwargs )

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é).

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

from_batches

< >

( *args**kwargs ) → datasets.table.Table

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 déduit du premier RecordBatch.

Retourne

datasets.table.Table

Construire une Table à partir d'une séquence ou d'un itérateur de RecordBatches Arrow.

MemoryMappedTable

classe datasets.table.MemoryMappedTable

< >

( table: Tablepath: strreplays: typing.Optional[list[tuple[str, tuple, dict]]] = None )

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 à la place.

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 sont réservés aux données plus volumineuses que la mémoire ou lorsque vous souhaitez que l’empreinte mémoire de votre application reste faible.

validate

< >

( *args**kwargs )

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.

Lève

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

< >

( *args**kwargs ) → bool

Paramètres

  • other (Table) — Tableau à 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

< >

( *args**kwargs )

Paramètres

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

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

to_pydict

< >

( *args**kwargs ) → dict

Retourne

dict

Convertir le Table en dict ou OrderedDict.

to_pandas

< >

( *args**kwargs ) → pandas.Series or pandas.DataFrame

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 passé.
  • 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 des 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 contenant 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 plusieurs 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 DataType pyarrow à un ExtensionDtype pandas. Cela permet de 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 de la Table. La fonction reçoit un DataType pyarrow et doit renvoyer un ExtensionDtype pandas ou None si la conversion par défaut doit être utilisée pour ce type. Si vous avez 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

< >

( *args**kwargs )

champ

< >

( *args**kwargs )

Paramètres

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

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

colonne

< >

( *args**kwargs )

Paramètres

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

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

itercolumns

< >

( *args**kwargs )

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

schéma

< >

( )

Schéma de la table et de ses colonnes.

colonnes de

< >

( )

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

num_columns

< >

( )

Nombre de colonnes dans ce tableau.

num_rows

< >

( )

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

< >

( ) → (int, int)

Retourne

(int, int)

Nombre de lignes et nombre de colonnes.

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

octets

< >

( )

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

column_names

< >

( )

Noms des colonnes du tableau.

slice

< >

( offset = 0length = None )

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

Calculer une tranche sans copie de ce Table.

filter

< >

( *args**kwargs )

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

flatten

< >

( *args**kwargs )

Paramètres

  • memory_pool (MemoryPool, par défaut None) — Pour les allocations mémoire, si nécessaire, sinon utilise le pool par défaut.

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

< >

( *args**kwargs )

Paramètres

  • memory_pool (MemoryPool, par défaut None) — Pour les allocations mémoire, si nécessaire, sinon utilise le pool par défaut.

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

< >

( *args**kwargs )

Paramètres

  • target_schema (Schema) — Schéma de destination vers lequel convertir ; 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.

Convertir les valeurs du tableau vers un autre schéma

replace_schema_metadata

< >

( *args**kwargs ) → datasets.table.Table

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

< >

( *args**kwargs ) → datasets.table.Table

Paramètres

  • i (int) — Index à l'emplacement duquel 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

< >

( *args**kwargs ) → datasets.table.Table

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

< >

( *args**kwargs ) → datasets.table.Table

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

< >

( *args**kwargs ) → datasets.table.Table

Paramètres

  • i (int) — Index à l'emplacement duquel 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

< >

( *args**kwargs )

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

sélectionner

< >

( *args**kwargs ) → datasets.table.Table

Paramètres

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

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

< >

( *args**kwargs ) → datasets.table.Table

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.

Lève

KeyError

  • KeyError — : si l'un des noms de colonnes passés n'existe pas.

Supprimez une ou plusieurs colonnes et renvoyez un nouveau tableau.

from_file

< >

( filename: strreplays = None )

ConcatenationTable

classe datasets.table.ConcatenationTable

< >

( table: Tableblocks: list )

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 qui sont mappées en mémoire. Lorsqu'un ConcatenationTable est sérialisé, 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. À la place, 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. Ceci 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.

validate

< >

( *args**kwargs )

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.

Lève

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

< >

( *args**kwargs ) → bool

Paramètres

  • other (Table) — Tableau à 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

< >

( *args**kwargs )

Paramètres

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

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

to_pydict

< >

( *args**kwargs ) → dict

Retourne

dict

Convertir le Table en dict ou OrderedDict.

to_pandas

< >

( *args**kwargs ) → pandas.Series or pandas.DataFrame

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 passé.
  • 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 des 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 contenant 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 plusieurs 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 DataType pyarrow à un ExtensionDtype pandas. Cela permet de 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 de la Table. La fonction reçoit un DataType pyarrow et doit renvoyer un ExtensionDtype pandas ou None si la conversion par défaut doit être utilisée pour ce type. Si vous avez 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

< >

( *args**kwargs )

champ

< >

( *args**kwargs )

Paramètres

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

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

colonne

< >

( *args**kwargs )

Paramètres

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

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

itercolumns

< >

( *args**kwargs )

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

schéma

< >

( )

Schéma de la table et de ses colonnes.

colonnes de

< >

( )

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

num_columns

< >

( )

Nombre de colonnes dans ce tableau.

num_rows

< >

( )

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

< >

( ) → (int, int)

Retourne

(int, int)

Nombre de lignes et nombre de colonnes.

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

octets

< >

( )

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

column_names

< >

( )

Noms des colonnes du tableau.

slice

< >

( offset = 0length = None )

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

Calculer une tranche sans copie de ce Table.

filter

< >

( mask*args**kwargs )

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

flatten

< >

( *args**kwargs )

Paramètres

  • memory_pool (MemoryPool, par défaut None) — Pour les allocations mémoire, si nécessaire, sinon utilise le pool par défaut.

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

< >

( *args**kwargs )

Paramètres

  • memory_pool (MemoryPool, par défaut None) — Pour les allocations mémoire, si nécessaire, sinon utilise le pool par défaut.

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

< >

( target_schema*args**kwargs )

Paramètres

  • target_schema (Schema) — Schéma de destination vers lequel convertir ; 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.

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

replace_schema_metadata

< >

( *args**kwargs ) → datasets.table.Table

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

< >

( *args**kwargs ) → datasets.table.Table

Paramètres

  • i (int) — Index à l'emplacement duquel 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

< >

( *args**kwargs ) → datasets.table.Table

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

< >

( i*args**kwargs ) → datasets.table.Table

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

< >

( *args**kwargs ) → datasets.table.Table

Paramètres

  • i (int) — Index à l'emplacement duquel 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

< >

( names*args**kwargs )

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

sélectionner

< >

( columns*args**kwargs ) → datasets.table.Table

Paramètres

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

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

< >

( columns*args**kwargs ) → datasets.table.Table

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.

Lève

KeyError

  • KeyError — : si l'un des noms de colonnes passés n'existe pas.

Supprimez une ou plusieurs colonnes et renvoyez un nouveau tableau.

from_blocks

< >

( blocks: ~TableBlockContainer )

from_tables

< >

( tables: listaxis: int = 0 )

Paramètres

  • tables (liste de Table ou liste de pyarrow.Table) — Liste de tables.
  • axis ({0, 1}, par défaut 0, signifie sur les lignes) — Axe de concaténation, où 0 signifie sur les lignes (verticalement) et 1 signifie sur les colonnes (horizontalement).

    Ajouté dans 1.6.0

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

Utilitaires

datasets.table.concat_tables

< >

( tables: listaxis: int = 0 ) → datasets.table.Table

Paramètres

  • tables (liste de Table) — Liste des tables à concaténer.
  • axis ({0, 1}, par défaut 0, signifie sur les lignes) — Axe de concaténation, où 0 signifie sur les lignes (verticalement) et 1 signifie sur les colonnes (horizontalement).

    Ajouté dans 1.6.0

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

< >

( table: Table ) → List[str]

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.

Update on GitHub