Datasets documentation
Classes de tables
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
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
< source >( *args**kwargs )
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
< source >( *args**kwargs ) → bool
Paramètres
- other (Table) — Tableau à comparer.
- check_metadata
bool, par défautFalse) — 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
< source >( *args**kwargs )
Convertit un tableau en liste d'objets RecordBatch (contigus).
Convertir le Table en dict ou OrderedDict.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
Paramètres
- memory_pool (
MemoryPool, par défautNone) — 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éfautFalse) — Encode les types de chaînes (UTF8) et binaires enpandas.Categorical. - categories (
list, par défautempty) — Liste des champs qui doivent être renvoyés en tant quepandas.Categorical. S’applique uniquement aux structures de données de type tableau. - zero_copy_only (
bool, par défautFalse) — Lève uneArrowExceptionsi cet appel de fonction nécessiterait de copier les données sous-jacentes. - integer_object_nulls (
bool, par défautFalse) — Convertit les entiers contenant des valeurs nulles en objets. - date_as_object (
bool, par défautTrue) — Convertit les dates en objets. SiFalse, convertit en type de donnéesdatetime64[ns]. - timestamp_as_object (
bool, par défautFalse) — 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). SiFalse, tous les horodatages sont convertis en type de donnéesdatetime64[ns]. - use_threads (
bool, par défautTrue) — Indique s'il faut paralléliser la conversion à l'aide de plusieurs threads. - deduplicate_objects (
bool, par défautFalse) — 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éfautFalse) — SiTrue, n'utilise pas les métadonnées « pandas » pour reconstruire l'index du DataFrame, s'il est présent. - safe (
bool, par défautTrue) — 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éfautFalse) — SiTrue, génère un « bloc » interne pour chaque colonne lors de la création d'un pandas.DataFrame à partir d'unRecordBatchou d'unTable. 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éfautFalse) — EXPÉRIMENTAL : siTrue, 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_pandasavec cette option, votre programme plantera. - types_mapper (
function, par défautNone) — Une fonction qui associe un DataType pyarrow à unExtensionDtypepandas. Cela permet de remplacer le type pandas par défaut lors de la conversion des types pyarrow intégrés ou en l'absence depandas_metadatadans le schéma de la Table. La fonction reçoit un DataType pyarrow et doit renvoyer unExtensionDtypepandas ouNonesi la conversion par défaut doit être utilisée pour ce type. Si vous avez un dictionnaire d'association, vous pouvez passerdict.geten 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.
champ
< source >( *args**kwargs )
Sélectionnez un champ du schéma par son nom de colonne ou son index numérique.
colonne
< source >( *args**kwargs )
Sélectionnez une colonne par son nom de colonne ou son index numérique.
Itérateur sur toutes les colonnes dans leur ordre numérique.
Schéma de la table et de ses colonnes.
Liste de toutes les colonnes dans l'ordre numérique.
Nombre de colonnes dans ce tableau.
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.
Dimensions du tableau : (#lignes, #colonnes).
Nombre total d'octets consommés par les éléments du tableau.
InMemoryTable
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
< source >( *args**kwargs )
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
< source >( *args**kwargs ) → bool
Paramètres
- other (Table) — Tableau à comparer.
- check_metadata
bool, par défautFalse) — 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
< source >( *args**kwargs )
Convertit un tableau en liste d'objets RecordBatch (contigus).
Convertir le Table en dict ou OrderedDict.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
Paramètres
- memory_pool (
MemoryPool, par défautNone) — 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éfautFalse) — Encode les types de chaînes (UTF8) et binaires enpandas.Categorical. - categories (
list, par défautempty) — Liste des champs qui doivent être renvoyés en tant quepandas.Categorical. S’applique uniquement aux structures de données de type tableau. - zero_copy_only (
bool, par défautFalse) — Lève uneArrowExceptionsi cet appel de fonction nécessiterait de copier les données sous-jacentes. - integer_object_nulls (
bool, par défautFalse) — Convertit les entiers contenant des valeurs nulles en objets. - date_as_object (
bool, par défautTrue) — Convertit les dates en objets. SiFalse, convertit en type de donnéesdatetime64[ns]. - timestamp_as_object (
bool, par défautFalse) — 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). SiFalse, tous les horodatages sont convertis en type de donnéesdatetime64[ns]. - use_threads (
bool, par défautTrue) — Indique s'il faut paralléliser la conversion à l'aide de plusieurs threads. - deduplicate_objects (
bool, par défautFalse) — 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éfautFalse) — SiTrue, n'utilise pas les métadonnées « pandas » pour reconstruire l'index du DataFrame, s'il est présent. - safe (
bool, par défautTrue) — 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éfautFalse) — SiTrue, génère un « bloc » interne pour chaque colonne lors de la création d'un pandas.DataFrame à partir d'unRecordBatchou d'unTable. 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éfautFalse) — EXPÉRIMENTAL : siTrue, 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_pandasavec cette option, votre programme plantera. - types_mapper (
function, par défautNone) — Une fonction qui associe un DataType pyarrow à unExtensionDtypepandas. Cela permet de remplacer le type pandas par défaut lors de la conversion des types pyarrow intégrés ou en l'absence depandas_metadatadans le schéma de la Table. La fonction reçoit un DataType pyarrow et doit renvoyer unExtensionDtypepandas ouNonesi la conversion par défaut doit être utilisée pour ce type. Si vous avez un dictionnaire d'association, vous pouvez passerdict.geten 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.
champ
< source >( *args**kwargs )
Sélectionnez un champ du schéma par son nom de colonne ou son index numérique.
colonne
< source >( *args**kwargs )
Sélectionnez une colonne par son nom de colonne ou son index numérique.
Itérateur sur toutes les colonnes dans leur ordre numérique.
Schéma de la table et de ses colonnes.
Liste de toutes les colonnes dans l'ordre numérique.
Nombre de colonnes dans ce tableau.
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.
Dimensions du tableau : (#lignes, #colonnes).
Nombre total d'octets consommés par les éléments du tableau.
Noms des colonnes du tableau.
slice
< source >( offset = 0length = None )
Calculer une tranche sans copie de ce Table.
Sélectionner des enregistrements depuis une Table. Voir pyarrow.compute.filter pour un usage complet.
flatten
< source >( *args**kwargs )
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
< source >( *args**kwargs )
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
< source >( *args**kwargs )
Convertir les valeurs du tableau vers un autre schéma.
replace_schema_metadata
< source >( *args**kwargs ) → datasets.table.Table
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
< source >( *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
< source >( *args**kwargs ) → datasets.table.Table
Ajouter la colonne à la fin des colonnes.
remove_column
< source >( *args**kwargs ) → datasets.table.Table
Créer un nouveau Table avec la colonne indiquée supprimée.
set_column
< source >( *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.
Créer un nouveau tableau avec des colonnes renommées selon les noms fournis.
sélectionner
< source >( *args**kwargs ) → datasets.table.Table
Paramètres
Retourne
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
< source >( *args**kwargs ) → datasets.table.Table
Supprimez une ou plusieurs colonnes et renvoyez un nouveau tableau.
from_pandas
< source >( *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 laTableré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. Utilisezpreserve_index=Truepour forcer son stockage en tant que colonne. - nthreads (
int, par défautNone(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. SiNone, utilise toutes les colonnes. - safe (
bool, par défautTrue) — 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.
from_arrays
< source >( *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éfautNone) — Schéma de la table créée. S'il n'est pas fourni, les noms doivent être fournis. - metadata (
Union[dict, Mapping], par défautNone) — Métadonnées facultatives pour le schéma (s'il est inféré).
Construire une Table à partir de tableaux Arrow.
from_pydict
< source >( *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éfautNone) — Si non fourni, il sera déduit des valeurs du Mapping - metadata (
Union[dict, Mapping], par défautNone) — 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
< source >( *args**kwargs ) → datasets.table.Table
Construire une Table à partir d'une séquence ou d'un itérateur de RecordBatches Arrow.
MemoryMappedTable
classe datasets.table.MemoryMappedTable
< source >( 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
< source >( *args**kwargs )
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
< source >( *args**kwargs ) → bool
Paramètres
- other (Table) — Tableau à comparer.
- check_metadata
bool, par défautFalse) — 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
< source >( *args**kwargs )
Convertit un tableau en liste d'objets RecordBatch (contigus).
Convertir le Table en dict ou OrderedDict.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
Paramètres
- memory_pool (
MemoryPool, par défautNone) — 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éfautFalse) — Encode les types de chaînes (UTF8) et binaires enpandas.Categorical. - categories (
list, par défautempty) — Liste des champs qui doivent être renvoyés en tant quepandas.Categorical. S’applique uniquement aux structures de données de type tableau. - zero_copy_only (
bool, par défautFalse) — Lève uneArrowExceptionsi cet appel de fonction nécessiterait de copier les données sous-jacentes. - integer_object_nulls (
bool, par défautFalse) — Convertit les entiers contenant des valeurs nulles en objets. - date_as_object (
bool, par défautTrue) — Convertit les dates en objets. SiFalse, convertit en type de donnéesdatetime64[ns]. - timestamp_as_object (
bool, par défautFalse) — 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). SiFalse, tous les horodatages sont convertis en type de donnéesdatetime64[ns]. - use_threads (
bool, par défautTrue) — Indique s'il faut paralléliser la conversion à l'aide de plusieurs threads. - deduplicate_objects (
bool, par défautFalse) — 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éfautFalse) — SiTrue, n'utilise pas les métadonnées « pandas » pour reconstruire l'index du DataFrame, s'il est présent. - safe (
bool, par défautTrue) — 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éfautFalse) — SiTrue, génère un « bloc » interne pour chaque colonne lors de la création d'un pandas.DataFrame à partir d'unRecordBatchou d'unTable. 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éfautFalse) — EXPÉRIMENTAL : siTrue, 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_pandasavec cette option, votre programme plantera. - types_mapper (
function, par défautNone) — Une fonction qui associe un DataType pyarrow à unExtensionDtypepandas. Cela permet de remplacer le type pandas par défaut lors de la conversion des types pyarrow intégrés ou en l'absence depandas_metadatadans le schéma de la Table. La fonction reçoit un DataType pyarrow et doit renvoyer unExtensionDtypepandas ouNonesi la conversion par défaut doit être utilisée pour ce type. Si vous avez un dictionnaire d'association, vous pouvez passerdict.geten 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.
champ
< source >( *args**kwargs )
Sélectionnez un champ du schéma par son nom de colonne ou son index numérique.
colonne
< source >( *args**kwargs )
Sélectionnez une colonne par son nom de colonne ou son index numérique.
Itérateur sur toutes les colonnes dans leur ordre numérique.
Schéma de la table et de ses colonnes.
Liste de toutes les colonnes dans l'ordre numérique.
Nombre de colonnes dans ce tableau.
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.
Dimensions du tableau : (#lignes, #colonnes).
Nombre total d'octets consommés par les éléments du tableau.
Noms des colonnes du tableau.
slice
< source >( offset = 0length = None )
Calculer une tranche sans copie de ce Table.
Sélectionner des enregistrements depuis une Table. Voir pyarrow.compute.filter pour un usage complet.
flatten
< source >( *args**kwargs )
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
< source >( *args**kwargs )
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
< source >( *args**kwargs )
Convertir les valeurs du tableau vers un autre schéma
replace_schema_metadata
< source >( *args**kwargs ) → datasets.table.Table
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
< source >( *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
< source >( *args**kwargs ) → datasets.table.Table
Ajouter la colonne à la fin des colonnes.
remove_column
< source >( *args**kwargs ) → datasets.table.Table
Créer un nouveau Table avec la colonne indiquée supprimée.
set_column
< source >( *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.
Créer un nouveau tableau avec des colonnes renommées selon les noms fournis.
sélectionner
< source >( *args**kwargs ) → datasets.table.Table
Paramètres
Retourne
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
< source >( *args**kwargs ) → datasets.table.Table
Supprimez une ou plusieurs colonnes et renvoyez un nouveau tableau.
ConcatenationTable
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
InMemoryTablesont 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
< source >( *args**kwargs )
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
< source >( *args**kwargs ) → bool
Paramètres
- other (Table) — Tableau à comparer.
- check_metadata
bool, par défautFalse) — 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
< source >( *args**kwargs )
Convertit un tableau en liste d'objets RecordBatch (contigus).
Convertir le Table en dict ou OrderedDict.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
Paramètres
- memory_pool (
MemoryPool, par défautNone) — 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éfautFalse) — Encode les types de chaînes (UTF8) et binaires enpandas.Categorical. - categories (
list, par défautempty) — Liste des champs qui doivent être renvoyés en tant quepandas.Categorical. S’applique uniquement aux structures de données de type tableau. - zero_copy_only (
bool, par défautFalse) — Lève uneArrowExceptionsi cet appel de fonction nécessiterait de copier les données sous-jacentes. - integer_object_nulls (
bool, par défautFalse) — Convertit les entiers contenant des valeurs nulles en objets. - date_as_object (
bool, par défautTrue) — Convertit les dates en objets. SiFalse, convertit en type de donnéesdatetime64[ns]. - timestamp_as_object (
bool, par défautFalse) — 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). SiFalse, tous les horodatages sont convertis en type de donnéesdatetime64[ns]. - use_threads (
bool, par défautTrue) — Indique s'il faut paralléliser la conversion à l'aide de plusieurs threads. - deduplicate_objects (
bool, par défautFalse) — 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éfautFalse) — SiTrue, n'utilise pas les métadonnées « pandas » pour reconstruire l'index du DataFrame, s'il est présent. - safe (
bool, par défautTrue) — 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éfautFalse) — SiTrue, génère un « bloc » interne pour chaque colonne lors de la création d'un pandas.DataFrame à partir d'unRecordBatchou d'unTable. 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éfautFalse) — EXPÉRIMENTAL : siTrue, 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_pandasavec cette option, votre programme plantera. - types_mapper (
function, par défautNone) — Une fonction qui associe un DataType pyarrow à unExtensionDtypepandas. Cela permet de remplacer le type pandas par défaut lors de la conversion des types pyarrow intégrés ou en l'absence depandas_metadatadans le schéma de la Table. La fonction reçoit un DataType pyarrow et doit renvoyer unExtensionDtypepandas ouNonesi la conversion par défaut doit être utilisée pour ce type. Si vous avez un dictionnaire d'association, vous pouvez passerdict.geten 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.
champ
< source >( *args**kwargs )
Sélectionnez un champ du schéma par son nom de colonne ou son index numérique.
colonne
< source >( *args**kwargs )
Sélectionnez une colonne par son nom de colonne ou son index numérique.
Itérateur sur toutes les colonnes dans leur ordre numérique.
Schéma de la table et de ses colonnes.
Liste de toutes les colonnes dans l'ordre numérique.
Nombre de colonnes dans ce tableau.
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.
Dimensions du tableau : (#lignes, #colonnes).
Nombre total d'octets consommés par les éléments du tableau.
Noms des colonnes du tableau.
slice
< source >( offset = 0length = None )
Calculer une tranche sans copie de ce Table.
Sélectionner des enregistrements depuis une Table. Voir pyarrow.compute.filter pour un usage complet.
flatten
< source >( *args**kwargs )
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
< source >( *args**kwargs )
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
< source >( target_schema*args**kwargs )
Convertir les valeurs du tableau vers un autre schéma.
replace_schema_metadata
< source >( *args**kwargs ) → datasets.table.Table
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
< source >( *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
< source >( *args**kwargs ) → datasets.table.Table
Ajouter la colonne à la fin des colonnes.
remove_column
< source >( i*args**kwargs ) → datasets.table.Table
Créer un nouveau Table avec la colonne indiquée supprimée.
set_column
< source >( *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.
Créer un nouveau tableau avec des colonnes renommées selon les noms fournis.
sélectionner
< source >( columns*args**kwargs ) → datasets.table.Table
Paramètres
Retourne
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
< source >( columns*args**kwargs ) → datasets.table.Table
Supprimez une ou plusieurs colonnes et renvoyez un nouveau tableau.
from_tables
< source >( tables: listaxis: int = 0 )
Créer ConcatenationTable à partir d'une liste de tables.
Utilitaires
datasets.table.concat_tables
< source >( tables: listaxis: int = 0 ) → datasets.table.Table
Paramètres
- tables (liste de
Table) — Liste des tables à concaténer. - axis (
{0, 1}, par défaut0, signifie sur les lignes) — Axe de concaténation, où0signifie sur les lignes (verticalement) et1signifie 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
< source >( 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.