Datasets documentation

Clases de tabla

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

Clases de tabla

Cada objeto Dataset se basa en una tabla de PyArrow. Una tabla puede cargarse desde el disco (mapeada en memoria) o en memoria. Hay disponibles varios tipos de tabla, y todos heredan de table.Table.

Tabla

clase datasets.table.Table

< >

( table: Table )

Envuelve una tabla de pyarrow mediante composición. Esta es la clase base de InMemoryTable, MemoryMappedTable y ConcatenationTable.

Implementa todos los atributos/métodos básicos de la clase Table de pyarrow, excepto las transformaciones de Table: slice, filter, flatten, combine_chunks, cast, add_column, append_column, remove_column, set_column, rename_columns y drop.

La implementación de estos métodos difiere en las subclases.

validate

< >

( *args**kwargs )

Parámetros

  • full (bool, por defecto False) — Si es True, se ejecutan comprobaciones costosas; en caso contrario, solo se ejecutan comprobaciones económicas.

Lanza

pa.lib.ArrowInvalid

  • pa.lib.ArrowInvalid — si la validación falla

Realiza comprobaciones de validación. Se lanza una excepción si la validación falla.

Por defecto, solo se ejecutan comprobaciones de validación de bajo coste. Pasa full=True para realizar comprobaciones de validación exhaustivas (potencialmente O(n)).

equals

< >

( *args**kwargs ) → bool

Parámetros

  • other (Tabla) — Tabla con la que comparar.
  • check_metadata bool, por defecto False) — Si se debe comprobar también la igualdad de los metadatos del esquema.

Devuelve

bool

Comprueba si el contenido de dos tablas es igual.

to_batches

< >

( *args**kwargs )

Parámetros

  • max_chunksize (int, por defecto None) — Tamaño máximo para los fragmentos de RecordBatch. Los fragmentos individuales pueden ser más pequeños dependiendo de la distribución de fragmentos de las columnas individuales.

Convierte una tabla en una lista de objetos RecordBatch (contiguos).

to_pydict

< >

( *args**kwargs ) → dict

Devuelve

dict

Convierte la Table en un dict o un OrderedDict.

to_pandas

< >

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

Parámetros

  • memory_pool (MemoryPool, por defecto None) — MemoryPool de Arrow para usar en las asignaciones. Si no se pasa ninguno, se usa el pool de memoria predeterminado.
  • strings_to_categorical (bool, por defecto False) — Codifica los tipos de cadena (UTF8) y binarios a pandas.Categorical.
  • categories (list, por defecto empty) — Lista de campos que deben devolverse como pandas.Categorical. Solo se aplica a estructuras de datos tipo tabla.
  • zero_copy_only (bool, por defecto False) — Lanza una ArrowException si esta llamada a la función requeriría copiar los datos subyacentes.
  • integer_object_nulls (bool, por defecto False) — Convierte los enteros con valores nulos en objetos.
  • date_as_object (bool, por defecto True) — Convierte las fechas en objetos. Si es False, se convierte al tipo de datos datetime64[ns].
  • timestamp_as_object (bool, por defecto False) — Convierte los timestamps que no están en nanosegundos (np.datetime64) en objetos. Esto es útil si tienes timestamps que no encajan en el rango de fechas normal de los timestamps de nanosegundos (1678-2262). Si es False, todos los timestamps se convierten al dtype datetime64[ns].
  • use_threads (bool, por defecto True) — Si se debe paralelizar la conversión usando múltiples hilos.
  • deduplicate_objects (bool, por defecto False) — No crea múltiples copias de objetos de Python al crearlos, para ahorrar uso de memoria. La conversión será más lenta.
  • ignore_metadata (bool, por defecto False) — Si es True, no se utiliza la metadatos de ‘pandas’ para reconstruir el índice del DataFrame, si está presente.
  • safe (bool, por defecto True) — Para ciertos tipos de datos, se necesita un cast para almacenar los datos en un DataFrame o Series de pandas (p. ej., los timestamps siempre se almacenan como nanosegundos en pandas). Esta opción controla si el cast es seguro o no.
  • split_blocks (bool, por defecto False) — Si es True, genera un “bloque” interno por cada columna al crear un pandas.DataFrame a partir de un RecordBatch o un Table. Si bien esto puede reducir temporalmente la memoria, tenga en cuenta que varias operaciones de pandas pueden provocar una “consolidación” que puede aumentar drásticamente el uso de memoria.
  • self_destruct (bool, por defecto False) — EXPERIMENTAL: Si es True, intenta desasignar la memoria de Arrow de origen al convertir el objeto Arrow a pandas. Si usas el objeto después de llamar a to_pandas con esta opción, tu programa se bloqueará.
  • types_mapper (function, por defecto None) — Una función que mapea un DataType de pyarrow a un ExtensionDtype de pandas. Esto se puede usar para sobrescribir el tipo de pandas predeterminado para la conversión de tipos integrados de pyarrow o en ausencia de pandas_metadata en el esquema de la Table. La función recibe un DataType de pyarrow y se espera que devuelva un ExtensionDtype de pandas o None si se debe usar la conversión predeterminada para ese tipo. Si tienes un mapeo de diccionario, puedes pasar dict.get como función.

Devuelve

pandas.Series o pandas.DataFrame

pandas.Series o pandas.DataFrame según el tipo de objeto

Convierta a un array de NumPy o un DataFrame compatible con pandas, según corresponda.

to_string

< >

( *args**kwargs )

campo

< >

( *args**kwargs )

Parámetros

  • i (Union[int, str]) — El índice o nombre del campo a recuperar.

Seleccione un campo del esquema por su nombre de columna o índice numérico.

columna

< >

( *args**kwargs )

Parámetros

  • i (Union[int, str]) — El índice o nombre de la columna a recuperar.

Seleccione una columna por su nombre de columna o por su índice numérico.

itercolumns

< >

( *args**kwargs )

Itera sobre todas las columnas en su orden numérico.

esquema

< >

( )

Esquema de la tabla y sus columnas.

columnas de

< >

( )

Lista de todas las columnas en orden numérico.

num_columns

< >

( )

Número de columnas en esta tabla.

num_rows

< >

( )

Número de filas en esta tabla.

Debido a la definición de una tabla, todas las columnas tienen el mismo número de filas.

forma

< >

( ) → (int, int)

Devuelve

(int, int)

Número de filas y número de columnas.

Dimensiones de la tabla: (#filas, #columnas).

nbytes

< >

( )

Número total de bytes consumidos por los elementos de la tabla.

InMemoryTable

clase datasets.table.InMemoryTable

< >

( table: Table )

Se dice que la tabla está en memoria cuando se carga en la RAM del usuario.

Al serializarlo, se copia todos los datos usando memoria. Su implementación es simple y utiliza directamente los métodos de la tabla subyacente de pyarrow.

Esto es diferente de la tabla MemoryMapped, para la cual el pickling no copia todos los datos en la memoria. Para una MemoryMapped, el unpickling vuelve a cargar la tabla desde el disco.

InMemoryTable debe usarse cuando los datos caben en memoria, mientras que MemoryMapped están reservados para datos más grandes que la memoria o cuando se desea que la huella de memoria de la aplicación se mantenga baja.

validate

< >

( *args**kwargs )

Parámetros

  • full (bool, por defecto False) — Si es True, se ejecutan comprobaciones costosas; en caso contrario, solo se ejecutan comprobaciones económicas.

Lanza

pa.lib.ArrowInvalid

  • pa.lib.ArrowInvalid — si la validación falla

Realiza comprobaciones de validación. Se lanza una excepción si la validación falla.

Por defecto, solo se ejecutan comprobaciones de validación de bajo coste. Pasa full=True para realizar comprobaciones de validación exhaustivas (potencialmente O(n)).

equals

< >

( *args**kwargs ) → bool

Parámetros

  • other (Tabla) — Tabla con la que comparar.
  • check_metadata bool, por defecto False) — Si se debe comprobar también la igualdad de los metadatos del esquema.

Devuelve

bool

Comprueba si el contenido de dos tablas es igual.

to_batches

< >

( *args**kwargs )

Parámetros

  • max_chunksize (int, por defecto None) — Tamaño máximo para los fragmentos de RecordBatch. Los fragmentos individuales pueden ser más pequeños dependiendo de la distribución de fragmentos de las columnas individuales.

Convierte una tabla en una lista de objetos RecordBatch (contiguos).

to_pydict

< >

( *args**kwargs ) → dict

Devuelve

dict

Convierte la Table en un dict o un OrderedDict.

to_pandas

< >

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

Parámetros

  • memory_pool (MemoryPool, por defecto None) — MemoryPool de Arrow para usar en las asignaciones. Si no se pasa ninguno, se usa el pool de memoria predeterminado.
  • strings_to_categorical (bool, por defecto False) — Codifica los tipos de cadena (UTF8) y binarios a pandas.Categorical.
  • categories (list, por defecto empty) — Lista de campos que deben devolverse como pandas.Categorical. Solo se aplica a estructuras de datos tipo tabla.
  • zero_copy_only (bool, por defecto False) — Lanza una ArrowException si esta llamada a la función requeriría copiar los datos subyacentes.
  • integer_object_nulls (bool, por defecto False) — Convierte los enteros con valores nulos en objetos.
  • date_as_object (bool, por defecto True) — Convierte las fechas en objetos. Si es False, se convierte al tipo de datos datetime64[ns].
  • timestamp_as_object (bool, por defecto False) — Convierte los timestamps que no están en nanosegundos (np.datetime64) en objetos. Esto es útil si tienes timestamps que no encajan en el rango de fechas normal de los timestamps de nanosegundos (1678-2262). Si es False, todos los timestamps se convierten al dtype datetime64[ns].
  • use_threads (bool, por defecto True) — Si se debe paralelizar la conversión usando múltiples hilos.
  • deduplicate_objects (bool, por defecto False) — No crea múltiples copias de objetos de Python al crearlos, para ahorrar uso de memoria. La conversión será más lenta.
  • ignore_metadata (bool, por defecto False) — Si es True, no se utiliza la metadatos de ‘pandas’ para reconstruir el índice del DataFrame, si está presente.
  • safe (bool, por defecto True) — Para ciertos tipos de datos, se necesita un cast para almacenar los datos en un DataFrame o Series de pandas (p. ej., los timestamps siempre se almacenan como nanosegundos en pandas). Esta opción controla si el cast es seguro o no.
  • split_blocks (bool, por defecto False) — Si es True, genera un “bloque” interno por cada columna al crear un pandas.DataFrame a partir de un RecordBatch o un Table. Si bien esto puede reducir temporalmente la memoria, tenga en cuenta que varias operaciones de pandas pueden provocar una “consolidación” que puede aumentar drásticamente el uso de memoria.
  • self_destruct (bool, por defecto False) — EXPERIMENTAL: Si es True, intenta desasignar la memoria de Arrow de origen al convertir el objeto Arrow a pandas. Si usas el objeto después de llamar a to_pandas con esta opción, tu programa se bloqueará.
  • types_mapper (function, por defecto None) — Una función que mapea un DataType de pyarrow a un ExtensionDtype de pandas. Esto se puede usar para sobrescribir el tipo de pandas predeterminado para la conversión de tipos integrados de pyarrow o en ausencia de pandas_metadata en el esquema de la Table. La función recibe un DataType de pyarrow y se espera que devuelva un ExtensionDtype de pandas o None si se debe usar la conversión predeterminada para ese tipo. Si tienes un mapeo de diccionario, puedes pasar dict.get como función.

Devuelve

pandas.Series o pandas.DataFrame

pandas.Series o pandas.DataFrame según el tipo de objeto

Convierta a un array de NumPy o un DataFrame compatible con pandas, según corresponda.

to_string

< >

( *args**kwargs )

campo

< >

( *args**kwargs )

Parámetros

  • i (Union[int, str]) — El índice o nombre del campo a recuperar.

Seleccione un campo del esquema por su nombre de columna o índice numérico.

columna

< >

( *args**kwargs )

Parámetros

  • i (Union[int, str]) — El índice o nombre de la columna a recuperar.

Seleccione una columna por su nombre de columna o por su índice numérico.

itercolumns

< >

( *args**kwargs )

Itera sobre todas las columnas en su orden numérico.

esquema

< >

( )

Esquema de la tabla y sus columnas.

columnas de

< >

( )

Lista de todas las columnas en orden numérico.

num_columns

< >

( )

Número de columnas en esta tabla.

num_rows

< >

( )

Número de filas en esta tabla.

Debido a la definición de una tabla, todas las columnas tienen el mismo número de filas.

forma

< >

( ) → (int, int)

Devuelve

(int, int)

Número de filas y número de columnas.

Dimensiones de la tabla: (#filas, #columnas).

nbytes

< >

( )

Número total de bytes consumidos por los elementos de la tabla.

column_names

< >

( )

Nombres de las columnas de la tabla.

slice

< >

( offset = 0length = None )

Parámetros

  • offset (int, por defecto 0) — Desplazamiento desde el inicio de la tabla para la porción.
  • length (int, por defecto None) — Longitud de la porción (por defecto, hasta el final de la tabla a partir de la posición inicial).

Calcula una porción de copia cero de esta Table.

filter

< >

( *args**kwargs )

Seleccione registros de una Table. Consulte pyarrow.compute.filter para el uso completo.

flatten

< >

( *args**kwargs )

Parámetros

  • memory_pool (MemoryPool, por defecto None) — Para las asignaciones de memoria, si es necesario; de lo contrario, se utiliza el pool predeterminado.

Aplana esta tabla. Cada columna con un tipo de estructura se aplana en una columna por cada campo de la estructura. Las demás columnas se dejan sin cambios.

combine_chunks

< >

( *args**kwargs )

Parámetros

  • memory_pool (MemoryPool, por defecto None) — Para las asignaciones de memoria, si es necesario; de lo contrario, se utiliza el pool predeterminado.

Crea una nueva tabla combinando los fragmentos que tiene esta tabla.

Todos los fragmentos subyacentes en el ChunkedArray de cada columna se concatenan en cero o un fragmento.

cast

< >

( *args**kwargs )

Parámetros

  • target_schema (Schema) — Esquema al que se debe convertir; los nombres y el orden de los campos deben coincidir.
  • safe (bool, por defecto True) — Comprueba desbordamientos u otras conversiones no seguras.

Convierte los valores de la tabla a otro esquema.

replace_schema_metadata

< >

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

Parámetros

  • metadata (dict, por defecto None) —

Devuelve

datasets.table.Table

shallow_copy

EXPERIMENTAL: Crea una copia superficial de la tabla reemplazando los metadatos clave-valor del esquema con los nuevos metadatos indicados (que pueden ser None, lo que elimina cualquier metadato existente).

add_column

< >

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

Parámetros

  • i (int) — Índice para colocar la columna.
  • field_ (Union[str, pyarrow.Field]) — Si se pasa una cadena de caracteres, el tipo se deduce de los datos de la columna.
  • column (Union[pyarrow.Array, List[pyarrow.Array]]) — Column data.

Devuelve

datasets.table.Table

Nueva tabla con la columna pasada añadida.

Agrega una columna a la tabla en la posición indicada.

Se devuelve una tabla nueva con la columna añadida; el objeto de tabla original permanece sin cambios.

append_column

< >

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

Parámetros

  • field_ (Union[str, pyarrow.Field]) — Si se pasa una cadena de caracteres, el tipo se deduce de los datos de la columna.
  • column (Union[pyarrow.Array, List[pyarrow.Array]]) — Column data.

Devuelve

datasets.table.Table

Nueva tabla con la columna pasada añadida.

Agrega la columna al final de las columnas.

remove_column

< >

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

Parámetros

  • i (int) — Índice de la columna a eliminar.

Devuelve

datasets.table.Table

Nueva tabla sin la columna.

Crea una nueva Table con la columna indicada eliminada.

set_column

< >

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

Parámetros

  • i (int) — Índice para colocar la columna.
  • field_ (Union[str, pyarrow.Field]) — Si se pasa una cadena de caracteres, el tipo se deduce de los datos de la columna.
  • column (Union[pyarrow.Array, List[pyarrow.Array]]) — Column data.

Devuelve

datasets.table.Table

Nueva tabla con el conjunto de columnas pasado.

Reemplazar la columna en la posición de la tabla.

rename_columns

< >

( *args**kwargs )

Crea una tabla nueva con las columnas renombradas a los nombres proporcionados.

select

< >

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

Parámetros

  • columns (Union[List[str], List[int]]) — Los nombres de las columnas o los índices enteros a seleccionar.

Nueva tabla con las columnas especificadas y los metadatos conservados.

Selecciona columnas de la tabla.

Devuelve una nueva tabla con las columnas especificadas y los metadatos conservados.

drop

< >

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

Parámetros

  • columns (List[str]) — Lista de nombres de campos que hacen referencia a columnas existentes.

Devuelve

datasets.table.Table

Nueva tabla sin las columnas.

Lanza

KeyError

  • KeyError — : si alguno de los nombres de columnas pasados no existe.

Descarta una o más columnas y devuelve una nueva tabla.

from_file

< >

( filename: str )

from_buffer

< >

( buffer: Buffer )

from_pandas

< >

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

Parámetros

  • df (pandas.DataFrame) —
  • schema (pyarrow.Schema, opcional) — El esquema esperado de la tabla Arrow. Esto se puede usar para indicar el tipo de columnas si no se puede inferir automáticamente. Si se pasa, la salida tendrá exactamente este esquema. Las columnas especificadas en el esquema que no se encuentran en las columnas del DataFrame o en su índice provocarán un error. Las columnas adicionales o los niveles de índice del DataFrame que no se especifican en el esquema se ignorarán.
  • preserve_index (bool, opcional) — Si se debe almacenar el índice como una columna adicional en la Table resultante. El valor predeterminado de None almacenará el índice como una columna, excepto para RangeIndex, que se almacena solo como metadatos. Use preserve_index=True para forzar que se almacene como una columna.
  • nthreads (int, por defecto None (puede usar hasta el número de CPUs del sistema)) — Si es mayor que 1, convierte las columnas a Arrow en paralelo usando el número de hilos indicado.
  • columns (List[str], opcional) — Lista de columnas que se van a convertir. Si es None, se usan todas las columnas.
  • safe (bool, por defecto True) — Comprueba desbordamientos u otras conversiones no seguras,

Devuelve

datasets.table.Table

Convertir un pandas.DataFrame a una tabla Arrow.

Los tipos de columna en la tabla Arrow resultante se infieren a partir de los dtypes de los pandas.Series en el DataFrame. En el caso de Series que no son de tipo object, el dtype de NumPy se traduce a su equivalente en Arrow. En el caso de object, es necesario inferir el tipo de datos examinando los objetos Python presentes en esta Series.

Tenga en cuenta que las Series de tipo object no contienen suficiente información para determinar siempre un tipo Arrow significativo. En el caso de que no podamos inferir un tipo, por ejemplo, porque el DataFrame tiene longitud 0 o la Series solo contiene objetos None/nan, el tipo se establece como null. Este comportamiento se puede evitar construyendo un esquema explícito y pasándolo a esta función.

Ejemplos:

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

Parámetros

  • arrays (List[Union[pyarrow.Array, pyarrow.ChunkedArray]]) — Arreglos de longitud igual que deben formar la tabla.
  • names (List[str], opcional) — Nombres para las columnas de la tabla. Si no se pasa, se debe pasar el esquema.
  • schema (Schema, por defecto None) — Esquema para la tabla creada. Si no se pasa, deben pasarse los nombres.
  • metadata (Union[dict, Mapping], por defecto None) — Metadatos opcionales para el esquema (si se infiere).

Construir una tabla a partir de matrices Arrow.

from_pydict

< >

( *args**kwargs )

Parámetros

  • mapping (Union[dict, Mapping]) — Un mapeo de cadenas de texto a Arrays o listas de Python.
  • schema (Schema, por defecto None) — Si no se pasa, se inferirá a partir de los valores del Mapping
  • metadata (Union[dict, Mapping], por defecto None) — Metadatos opcionales para el esquema (si se infiere).

Construir una tabla a partir de arrays o columnas de Arrow.

from_batches

< >

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

Parámetros

  • batches (Union[Sequence[pyarrow.RecordBatch], Iterator[pyarrow.RecordBatch]]) — Secuencia de RecordBatch a convertir; todos los esquemas deben ser iguales.
  • schema (Schema, por defecto None) — Si no se pasa, se inferirá a partir del primer RecordBatch.

Devuelve

datasets.table.Table

Construir una tabla a partir de una secuencia o iterador de RecordBatches de Arrow.

MemoryMappedTable

clase datasets.table.MemoryMappedTable

< >

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

Se dice que la tabla está mapeada en memoria cuando no utiliza la RAM del usuario, sino que carga los datos desde el disco.

Al serializarlo, no se copia los datos en memoria. En su lugar, solo se serializa la ruta al archivo arrow mapeado en memoria, así como la lista de transformaciones para “reproducir” al recargar la tabla desde el disco.

Su implementación requiere almacenar un historial de todas las transformaciones que se aplicaron a la tabla pyarrow subyacente, para que puedan “reproducirse” al recargar la tabla desde el disco.

Esto es diferente de la tabla InMemoryTable, para la cual el pickling sí copia todos los datos en memoria.

InMemoryTable debe usarse cuando los datos caben en memoria, mientras que MemoryMapped están reservados para datos más grandes que la memoria o cuando se desea que la huella de memoria de la aplicación se mantenga baja.

validate

< >

( *args**kwargs )

Parámetros

  • full (bool, por defecto False) — Si es True, se ejecutan comprobaciones costosas; en caso contrario, solo se ejecutan comprobaciones económicas.

Lanza

pa.lib.ArrowInvalid

  • pa.lib.ArrowInvalid — si la validación falla

Realiza comprobaciones de validación. Se lanza una excepción si la validación falla.

Por defecto, solo se ejecutan comprobaciones de validación de bajo coste. Pasa full=True para realizar comprobaciones de validación exhaustivas (potencialmente O(n)).

equals

< >

( *args**kwargs ) → bool

Parámetros

  • other (Tabla) — Tabla con la que comparar.
  • check_metadata bool, por defecto False) — Si se debe comprobar también la igualdad de los metadatos del esquema.

Devuelve

bool

Comprueba si el contenido de dos tablas es igual.

to_batches

< >

( *args**kwargs )

Parámetros

  • max_chunksize (int, por defecto None) — Tamaño máximo para los fragmentos de RecordBatch. Los fragmentos individuales pueden ser más pequeños dependiendo de la distribución de fragmentos de las columnas individuales.

Convierte una tabla en una lista de objetos RecordBatch (contiguos).

to_pydict

< >

( *args**kwargs ) → dict

Devuelve

dict

Convierte la Table en un dict o un OrderedDict.

to_pandas

< >

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

Parámetros

  • memory_pool (MemoryPool, por defecto None) — MemoryPool de Arrow para usar en las asignaciones. Si no se pasa ninguno, se usa el pool de memoria predeterminado.
  • strings_to_categorical (bool, por defecto False) — Codifica los tipos de cadena (UTF8) y binarios a pandas.Categorical.
  • categories (list, por defecto empty) — Lista de campos que deben devolverse como pandas.Categorical. Solo se aplica a estructuras de datos tipo tabla.
  • zero_copy_only (bool, por defecto False) — Lanza una ArrowException si esta llamada a la función requeriría copiar los datos subyacentes.
  • integer_object_nulls (bool, por defecto False) — Convierte los enteros con valores nulos en objetos.
  • date_as_object (bool, por defecto True) — Convierte las fechas en objetos. Si es False, se convierte al tipo de datos datetime64[ns].
  • timestamp_as_object (bool, por defecto False) — Convierte los timestamps que no están en nanosegundos (np.datetime64) en objetos. Esto es útil si tienes timestamps que no encajan en el rango de fechas normal de los timestamps de nanosegundos (1678-2262). Si es False, todos los timestamps se convierten al dtype datetime64[ns].
  • use_threads (bool, por defecto True) — Si se debe paralelizar la conversión usando múltiples hilos.
  • deduplicate_objects (bool, por defecto False) — No crea múltiples copias de objetos de Python al crearlos, para ahorrar uso de memoria. La conversión será más lenta.
  • ignore_metadata (bool, por defecto False) — Si es True, no se utiliza la metadatos de ‘pandas’ para reconstruir el índice del DataFrame, si está presente.
  • safe (bool, por defecto True) — Para ciertos tipos de datos, se necesita un cast para almacenar los datos en un DataFrame o Series de pandas (p. ej., los timestamps siempre se almacenan como nanosegundos en pandas). Esta opción controla si el cast es seguro o no.
  • split_blocks (bool, por defecto False) — Si es True, genera un “bloque” interno por cada columna al crear un pandas.DataFrame a partir de un RecordBatch o un Table. Si bien esto puede reducir temporalmente la memoria, tenga en cuenta que varias operaciones de pandas pueden provocar una “consolidación” que puede aumentar drásticamente el uso de memoria.
  • self_destruct (bool, por defecto False) — EXPERIMENTAL: Si es True, intenta desasignar la memoria de Arrow de origen al convertir el objeto Arrow a pandas. Si usas el objeto después de llamar a to_pandas con esta opción, tu programa se bloqueará.
  • types_mapper (function, por defecto None) — Una función que mapea un DataType de pyarrow a un ExtensionDtype de pandas. Esto se puede usar para sobrescribir el tipo de pandas predeterminado para la conversión de tipos integrados de pyarrow o en ausencia de pandas_metadata en el esquema de la Table. La función recibe un DataType de pyarrow y se espera que devuelva un ExtensionDtype de pandas o None si se debe usar la conversión predeterminada para ese tipo. Si tienes un mapeo de diccionario, puedes pasar dict.get como función.

Devuelve

pandas.Series o pandas.DataFrame

pandas.Series o pandas.DataFrame según el tipo de objeto

Convierta a un array de NumPy o un DataFrame compatible con pandas, según corresponda.

to_string

< >

( *args**kwargs )

campo

< >

( *args**kwargs )

Parámetros

  • i (Union[int, str]) — El índice o nombre del campo a recuperar.

Seleccione un campo del esquema por su nombre de columna o índice numérico.

columna

< >

( *args**kwargs )

Parámetros

  • i (Union[int, str]) — El índice o nombre de la columna a recuperar.

Seleccione una columna por su nombre de columna o por su índice numérico.

itercolumns

< >

( *args**kwargs )

Itera sobre todas las columnas en su orden numérico.

esquema

< >

( )

Esquema de la tabla y sus columnas.

columnas de

< >

( )

Lista de todas las columnas en orden numérico.

num_columns

< >

( )

Número de columnas en esta tabla.

num_rows

< >

( )

Número de filas en esta tabla.

Debido a la definición de una tabla, todas las columnas tienen el mismo número de filas.

forma

< >

( ) → (int, int)

Devuelve

(int, int)

Número de filas y número de columnas.

Dimensiones de la tabla: (#filas, #columnas).

nbytes

< >

( )

Número total de bytes consumidos por los elementos de la tabla.

column_names

< >

( )

Nombres de las columnas de la tabla.

slice

< >

( offset = 0length = None )

Parámetros

  • offset (int, por defecto 0) — Desplazamiento desde el inicio de la tabla para la porción.
  • length (int, por defecto None) — Longitud de la porción (por defecto, hasta el final de la tabla a partir de la posición inicial).

Calcula una porción de copia cero de esta Table.

filter

< >

( *args**kwargs )

Seleccione registros de una Table. Consulte pyarrow.compute.filter para el uso completo.

flatten

< >

( *args**kwargs )

Parámetros

  • memory_pool (MemoryPool, por defecto None) — Para las asignaciones de memoria, si es necesario; de lo contrario, se utiliza el pool predeterminado.

Aplana esta tabla. Cada columna con un tipo de estructura se aplana en una columna por cada campo de la estructura. Las demás columnas se dejan sin cambios.

combine_chunks

< >

( *args**kwargs )

Parámetros

  • memory_pool (MemoryPool, por defecto None) — Para las asignaciones de memoria, si es necesario; de lo contrario, se utiliza el pool predeterminado.

Crea una nueva tabla combinando los fragmentos que tiene esta tabla.

Todos los fragmentos subyacentes en el ChunkedArray de cada columna se concatenan en cero o un fragmento.

cast

< >

( *args**kwargs )

Parámetros

  • target_schema (Schema) — Esquema al que se debe convertir; los nombres y el orden de los campos deben coincidir.
  • safe (bool, por defecto True) — Comprueba desbordamientos u otras conversiones no seguras.

Convertir los valores de la tabla a otro esquema

replace_schema_metadata

< >

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

Parámetros

  • metadata (dict, por defecto None) —

Devuelve

datasets.table.Table

shallow_copy

EXPERIMENTAL: Crea una copia superficial de la tabla reemplazando los metadatos clave-valor del esquema con los nuevos metadatos indicados (que pueden ser None, lo que elimina cualquier metadato existente).

add_column

< >

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

Parámetros

  • i (int) — Índice para colocar la columna.
  • field_ (Union[str, pyarrow.Field]) — Si se pasa una cadena de caracteres, el tipo se deduce de los datos de la columna.
  • column (Union[pyarrow.Array, List[pyarrow.Array]]) — Column data.

Devuelve

datasets.table.Table

Nueva tabla con la columna pasada añadida.

Agrega una columna a la tabla en la posición indicada.

Se devuelve una tabla nueva con la columna añadida; el objeto de tabla original permanece sin cambios.

append_column

< >

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

Parámetros

  • field_ (Union[str, pyarrow.Field]) — Si se pasa una cadena de caracteres, el tipo se deduce de los datos de la columna.
  • column (Union[pyarrow.Array, List[pyarrow.Array]]) — Column data.

Devuelve

datasets.table.Table

Nueva tabla con la columna pasada añadida.

Agrega la columna al final de las columnas.

remove_column

< >

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

Parámetros

  • i (int) — Índice de la columna a eliminar.

Devuelve

datasets.table.Table

Nueva tabla sin la columna.

Crea una nueva Table con la columna indicada eliminada.

set_column

< >

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

Parámetros

  • i (int) — Índice para colocar la columna.
  • field_ (Union[str, pyarrow.Field]) — Si se pasa una cadena de caracteres, el tipo se deduce de los datos de la columna.
  • column (Union[pyarrow.Array, List[pyarrow.Array]]) — Column data.

Devuelve

datasets.table.Table

Nueva tabla con el conjunto de columnas pasado.

Reemplazar la columna en la posición de la tabla.

rename_columns

< >

( *args**kwargs )

Crea una tabla nueva con las columnas renombradas a los nombres proporcionados.

select

< >

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

Parámetros

  • columns (Union[List[str], List[int]]) — Los nombres de las columnas o los índices enteros a seleccionar.

Nueva tabla con las columnas especificadas y los metadatos conservados.

Selecciona columnas de la tabla.

Devuelve una nueva tabla con las columnas especificadas y los metadatos conservados.

drop

< >

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

Parámetros

  • columns (List[str]) — Lista de nombres de campos que hacen referencia a columnas existentes.

Devuelve

datasets.table.Table

Nueva tabla sin las columnas.

Lanza

KeyError

  • KeyError — : si alguno de los nombres de columnas pasados no existe.

Descarta una o más columnas y devuelve una nueva tabla.

from_file

< >

( filename: strreplays = None )

ConcatenationTable

clase datasets.table.ConcatenationTable

< >

( table: Tableblocks: list )

La tabla proviene de la concatenación de varias tablas llamadas bloques. Permite la concatenación tanto en el eje 0 (agregar filas) como en el eje 1 (agregar columnas).

Las tablas subyacentes se denominan “bloques” y pueden ser objetos InMemoryTable o MemoryMappedTable. Esto permite combinar tablas que provienen de memoria o que están mapeadas en memoria. Cuando se serializa un ConcatenationTable, cada bloque se serializa:

  • los objetos InMemoryTable se serializan mediante pickle copiando todos los datos en memoria.
  • los objetos MemoryMappedTable se serializan con pickle sin copiar los datos a la memoria. En su lugar, solo se serializa la ruta al archivo arrow mapeado en memoria, así como la lista de transformaciones para “reproducir” al recargar la tabla desde el disco.

Su implementación requiere almacenar cada bloque por separado. El atributo blocks almacena una lista de listas de bloques. El primer eje concatena las tablas a lo largo del eje 0 (añade filas), mientras que el segundo eje concatena las tablas a lo largo del eje 1 (añade columnas).

Si faltan algunas columnas al concatenar en el eje 0, se rellenan con valores nulos. Esto se realiza mediante pyarrow.concat_tables(tables, promote=True).

Puede acceder a la tabla completamente combinada accediendo al atributo ConcatenationTable.table, y a los bloques accediendo al atributo ConcatenationTable.blocks.

validate

< >

( *args**kwargs )

Parámetros

  • full (bool, por defecto False) — Si es True, se ejecutan comprobaciones costosas; en caso contrario, solo se ejecutan comprobaciones económicas.

Lanza

pa.lib.ArrowInvalid

  • pa.lib.ArrowInvalid — si la validación falla

Realiza comprobaciones de validación. Se lanza una excepción si la validación falla.

Por defecto, solo se ejecutan comprobaciones de validación de bajo coste. Pasa full=True para realizar comprobaciones de validación exhaustivas (potencialmente O(n)).

equals

< >

( *args**kwargs ) → bool

Parámetros

  • other (Tabla) — Tabla con la que comparar.
  • check_metadata bool, por defecto False) — Si se debe comprobar también la igualdad de los metadatos del esquema.

Devuelve

bool

Comprueba si el contenido de dos tablas es igual.

to_batches

< >

( *args**kwargs )

Parámetros

  • max_chunksize (int, por defecto None) — Tamaño máximo para los fragmentos de RecordBatch. Los fragmentos individuales pueden ser más pequeños dependiendo de la distribución de fragmentos de las columnas individuales.

Convierte una tabla en una lista de objetos RecordBatch (contiguos).

to_pydict

< >

( *args**kwargs ) → dict

Devuelve

dict

Convierte la Table en un dict o un OrderedDict.

to_pandas

< >

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

Parámetros

  • memory_pool (MemoryPool, por defecto None) — MemoryPool de Arrow para usar en las asignaciones. Si no se pasa ninguno, se usa el pool de memoria predeterminado.
  • strings_to_categorical (bool, por defecto False) — Codifica los tipos de cadena (UTF8) y binarios a pandas.Categorical.
  • categories (list, por defecto empty) — Lista de campos que deben devolverse como pandas.Categorical. Solo se aplica a estructuras de datos tipo tabla.
  • zero_copy_only (bool, por defecto False) — Lanza una ArrowException si esta llamada a la función requeriría copiar los datos subyacentes.
  • integer_object_nulls (bool, por defecto False) — Convierte los enteros con valores nulos en objetos.
  • date_as_object (bool, por defecto True) — Convierte las fechas en objetos. Si es False, se convierte al tipo de datos datetime64[ns].
  • timestamp_as_object (bool, por defecto False) — Convierte los timestamps que no están en nanosegundos (np.datetime64) en objetos. Esto es útil si tienes timestamps que no encajan en el rango de fechas normal de los timestamps de nanosegundos (1678-2262). Si es False, todos los timestamps se convierten al dtype datetime64[ns].
  • use_threads (bool, por defecto True) — Si se debe paralelizar la conversión usando múltiples hilos.
  • deduplicate_objects (bool, por defecto False) — No crea múltiples copias de objetos de Python al crearlos, para ahorrar uso de memoria. La conversión será más lenta.
  • ignore_metadata (bool, por defecto False) — Si es True, no se utiliza la metadatos de ‘pandas’ para reconstruir el índice del DataFrame, si está presente.
  • safe (bool, por defecto True) — Para ciertos tipos de datos, se necesita un cast para almacenar los datos en un DataFrame o Series de pandas (p. ej., los timestamps siempre se almacenan como nanosegundos en pandas). Esta opción controla si el cast es seguro o no.
  • split_blocks (bool, por defecto False) — Si es True, genera un “bloque” interno por cada columna al crear un pandas.DataFrame a partir de un RecordBatch o un Table. Si bien esto puede reducir temporalmente la memoria, tenga en cuenta que varias operaciones de pandas pueden provocar una “consolidación” que puede aumentar drásticamente el uso de memoria.
  • self_destruct (bool, por defecto False) — EXPERIMENTAL: Si es True, intenta desasignar la memoria de Arrow de origen al convertir el objeto Arrow a pandas. Si usas el objeto después de llamar a to_pandas con esta opción, tu programa se bloqueará.
  • types_mapper (function, por defecto None) — Una función que mapea un DataType de pyarrow a un ExtensionDtype de pandas. Esto se puede usar para sobrescribir el tipo de pandas predeterminado para la conversión de tipos integrados de pyarrow o en ausencia de pandas_metadata en el esquema de la Table. La función recibe un DataType de pyarrow y se espera que devuelva un ExtensionDtype de pandas o None si se debe usar la conversión predeterminada para ese tipo. Si tienes un mapeo de diccionario, puedes pasar dict.get como función.

Devuelve

pandas.Series o pandas.DataFrame

pandas.Series o pandas.DataFrame según el tipo de objeto

Convierta a un array de NumPy o un DataFrame compatible con pandas, según corresponda.

to_string

< >

( *args**kwargs )

campo

< >

( *args**kwargs )

Parámetros

  • i (Union[int, str]) — El índice o nombre del campo a recuperar.

Seleccione un campo del esquema por su nombre de columna o índice numérico.

columna

< >

( *args**kwargs )

Parámetros

  • i (Union[int, str]) — El índice o nombre de la columna a recuperar.

Seleccione una columna por su nombre de columna o por su índice numérico.

itercolumns

< >

( *args**kwargs )

Itera sobre todas las columnas en su orden numérico.

esquema

< >

( )

Esquema de la tabla y sus columnas.

columnas de

< >

( )

Lista de todas las columnas en orden numérico.

num_columns

< >

( )

Número de columnas en esta tabla.

num_rows

< >

( )

Número de filas en esta tabla.

Debido a la definición de una tabla, todas las columnas tienen el mismo número de filas.

forma

< >

( ) → (int, int)

Devuelve

(int, int)

Número de filas y número de columnas.

Dimensiones de la tabla: (#filas, #columnas).

nbytes

< >

( )

Número total de bytes consumidos por los elementos de la tabla.

column_names

< >

( )

Nombres de las columnas de la tabla.

slice

< >

( offset = 0length = None )

Parámetros

  • offset (int, por defecto 0) — Desplazamiento desde el inicio de la tabla para la porción.
  • length (int, por defecto None) — Longitud de la porción (por defecto, hasta el final de la tabla a partir de la posición inicial).

Calcula una porción de copia cero de esta Table.

filter

< >

( mask*args**kwargs )

Seleccione registros de una Table. Consulte pyarrow.compute.filter para el uso completo.

flatten

< >

( *args**kwargs )

Parámetros

  • memory_pool (MemoryPool, por defecto None) — Para las asignaciones de memoria, si es necesario; de lo contrario, se utiliza el pool predeterminado.

Aplana esta tabla. Cada columna con un tipo de estructura se aplana en una columna por cada campo de la estructura. Las demás columnas se dejan sin cambios.

combine_chunks

< >

( *args**kwargs )

Parámetros

  • memory_pool (MemoryPool, por defecto None) — Para las asignaciones de memoria, si es necesario; de lo contrario, se utiliza el pool predeterminado.

Crea una nueva tabla combinando los fragmentos que tiene esta tabla.

Todos los fragmentos subyacentes en el ChunkedArray de cada columna se concatenan en cero o un fragmento.

cast

< >

( target_schema*args**kwargs )

Parámetros

  • target_schema (Schema) — Esquema al que se debe convertir; los nombres y el orden de los campos deben coincidir.
  • safe (bool, por defecto True) — Comprueba desbordamientos u otras conversiones no seguras.

Convierte los valores de la tabla a otro esquema.

replace_schema_metadata

< >

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

Parámetros

  • metadata (dict, por defecto None) —

Devuelve

datasets.table.Table

shallow_copy

EXPERIMENTAL: Crea una copia superficial de la tabla reemplazando los metadatos clave-valor del esquema con los nuevos metadatos indicados (que pueden ser None, lo que elimina cualquier metadato existente).

add_column

< >

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

Parámetros

  • i (int) — Índice para colocar la columna.
  • field_ (Union[str, pyarrow.Field]) — Si se pasa una cadena de caracteres, el tipo se deduce de los datos de la columna.
  • column (Union[pyarrow.Array, List[pyarrow.Array]]) — Column data.

Devuelve

datasets.table.Table

Nueva tabla con la columna pasada añadida.

Agrega una columna a la tabla en la posición indicada.

Se devuelve una tabla nueva con la columna añadida; el objeto de tabla original permanece sin cambios.

append_column

< >

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

Parámetros

  • field_ (Union[str, pyarrow.Field]) — Si se pasa una cadena de caracteres, el tipo se deduce de los datos de la columna.
  • column (Union[pyarrow.Array, List[pyarrow.Array]]) — Column data.

Devuelve

datasets.table.Table

Nueva tabla con la columna pasada añadida.

Agrega la columna al final de las columnas.

remove_column

< >

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

Parámetros

  • i (int) — Índice de la columna a eliminar.

Devuelve

datasets.table.Table

Nueva tabla sin la columna.

Crea una nueva Table con la columna indicada eliminada.

set_column

< >

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

Parámetros

  • i (int) — Índice para colocar la columna.
  • field_ (Union[str, pyarrow.Field]) — Si se pasa una cadena de caracteres, el tipo se deduce de los datos de la columna.
  • column (Union[pyarrow.Array, List[pyarrow.Array]]) — Column data.

Devuelve

datasets.table.Table

Nueva tabla con el conjunto de columnas pasado.

Reemplazar la columna en la posición de la tabla.

rename_columns

< >

( names*args**kwargs )

Crea una tabla nueva con las columnas renombradas a los nombres proporcionados.

select

< >

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

Parámetros

  • columns (Union[List[str], List[int]]) — Los nombres de las columnas o los índices enteros a seleccionar.

Nueva tabla con las columnas especificadas y los metadatos conservados.

Selecciona columnas de la tabla.

Devuelve una nueva tabla con las columnas especificadas y los metadatos conservados.

drop

< >

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

Parámetros

  • columns (List[str]) — Lista de nombres de campos que hacen referencia a columnas existentes.

Devuelve

datasets.table.Table

Nueva tabla sin las columnas.

Lanza

KeyError

  • KeyError — : si alguno de los nombres de columnas pasados no existe.

Descarta una o más columnas y devuelve una nueva tabla.

from_blocks

< >

( blocks: ~TableBlockContainer )

from_tables

< >

( tables: listaxis: int = 0 )

Parámetros

  • tables (lista de Table o lista de pyarrow.Table) — Lista de tablas.
  • axis ({0, 1}, por defecto es 0, lo que significa sobre filas) — Eje sobre el que concatenar, donde 0 significa sobre filas (verticalmente) y 1 significa sobre columnas (horizontalmente).

    Añadido en 1.6.0

Crea ConcatenationTable a partir de una lista de tablas.

Utilidades

datasets.table.concat_tables

< >

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

Parámetros

  • tables (lista de Table) — Lista de tablas que se van a concatenar.
  • axis ({0, 1}, por defecto es 0, lo que significa sobre filas) — Eje sobre el que concatenar, donde 0 significa sobre filas (verticalmente) y 1 significa sobre columnas (horizontalmente).

    Añadido en 1.6.0

Devuelve

datasets.table.Table

Si el número de tablas de entrada es > 1, la tabla devuelta es una datasets.table.ConcatenationTable. En caso contrario, si solo hay una tabla, se devuelve tal cual.

Concatenar tablas.

datasets.table.list_table_cache_files

< >

( table: Table ) → List[str]

Devuelve

List[str]

Una lista de rutas a los archivos de caché cargados por la tabla.

Obtenga los archivos de caché que carga la tabla. Los archivos de caché se utilizan cuando partes de la tabla provienen del disco mediante mapeo de memoria.

Update on GitHub