Datasets documentation
Clases de tabla
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
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
< source >( *args**kwargs )
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
< source >( *args**kwargs ) → bool
Parámetros
- other (Tabla) — Tabla con la que comparar.
- check_metadata
bool, por defectoFalse) — 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
< source >( *args**kwargs )
Convierte una tabla en una lista de objetos RecordBatch (contiguos).
Convierte la Table en un dict o un OrderedDict.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
Parámetros
- memory_pool (
MemoryPool, por defectoNone) — 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 defectoFalse) — Codifica los tipos de cadena (UTF8) y binarios apandas.Categorical. - categories (
list, por defectoempty) — Lista de campos que deben devolverse comopandas.Categorical. Solo se aplica a estructuras de datos tipo tabla. - zero_copy_only (
bool, por defectoFalse) — Lanza unaArrowExceptionsi esta llamada a la función requeriría copiar los datos subyacentes. - integer_object_nulls (
bool, por defectoFalse) — Convierte los enteros con valores nulos en objetos. - date_as_object (
bool, por defectoTrue) — Convierte las fechas en objetos. Si esFalse, se convierte al tipo de datosdatetime64[ns]. - timestamp_as_object (
bool, por defectoFalse) — 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 esFalse, todos los timestamps se convierten al dtypedatetime64[ns]. - use_threads (
bool, por defectoTrue) — Si se debe paralelizar la conversión usando múltiples hilos. - deduplicate_objects (
bool, por defectoFalse) — 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 defectoFalse) — Si esTrue, no se utiliza la metadatos de ‘pandas’ para reconstruir el índice del DataFrame, si está presente. - safe (
bool, por defectoTrue) — 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 defectoFalse) — Si esTrue, genera un “bloque” interno por cada columna al crear un pandas.DataFrame a partir de unRecordBatcho unTable. 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 defectoFalse) — EXPERIMENTAL: Si esTrue, intenta desasignar la memoria de Arrow de origen al convertir el objeto Arrow a pandas. Si usas el objeto después de llamar ato_pandascon esta opción, tu programa se bloqueará. - types_mapper (
function, por defectoNone) — Una función que mapea un DataType de pyarrow a unExtensionDtypede pandas. Esto se puede usar para sobrescribir el tipo de pandas predeterminado para la conversión de tipos integrados de pyarrow o en ausencia depandas_metadataen el esquema de la Table. La función recibe un DataType de pyarrow y se espera que devuelva unExtensionDtypede pandas oNonesi se debe usar la conversión predeterminada para ese tipo. Si tienes un mapeo de diccionario, puedes pasardict.getcomo 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.
campo
< source >( *args**kwargs )
Seleccione un campo del esquema por su nombre de columna o índice numérico.
columna
< source >( *args**kwargs )
Seleccione una columna por su nombre de columna o por su índice numérico.
Itera sobre todas las columnas en su orden numérico.
Esquema de la tabla y sus columnas.
Lista de todas las columnas en orden numérico.
Número de columnas en esta tabla.
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.
Dimensiones de la tabla: (#filas, #columnas).
Número total de bytes consumidos por los elementos de la tabla.
InMemoryTable
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
< source >( *args**kwargs )
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
< source >( *args**kwargs ) → bool
Parámetros
- other (Tabla) — Tabla con la que comparar.
- check_metadata
bool, por defectoFalse) — 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
< source >( *args**kwargs )
Convierte una tabla en una lista de objetos RecordBatch (contiguos).
Convierte la Table en un dict o un OrderedDict.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
Parámetros
- memory_pool (
MemoryPool, por defectoNone) — 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 defectoFalse) — Codifica los tipos de cadena (UTF8) y binarios apandas.Categorical. - categories (
list, por defectoempty) — Lista de campos que deben devolverse comopandas.Categorical. Solo se aplica a estructuras de datos tipo tabla. - zero_copy_only (
bool, por defectoFalse) — Lanza unaArrowExceptionsi esta llamada a la función requeriría copiar los datos subyacentes. - integer_object_nulls (
bool, por defectoFalse) — Convierte los enteros con valores nulos en objetos. - date_as_object (
bool, por defectoTrue) — Convierte las fechas en objetos. Si esFalse, se convierte al tipo de datosdatetime64[ns]. - timestamp_as_object (
bool, por defectoFalse) — 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 esFalse, todos los timestamps se convierten al dtypedatetime64[ns]. - use_threads (
bool, por defectoTrue) — Si se debe paralelizar la conversión usando múltiples hilos. - deduplicate_objects (
bool, por defectoFalse) — 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 defectoFalse) — Si esTrue, no se utiliza la metadatos de ‘pandas’ para reconstruir el índice del DataFrame, si está presente. - safe (
bool, por defectoTrue) — 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 defectoFalse) — Si esTrue, genera un “bloque” interno por cada columna al crear un pandas.DataFrame a partir de unRecordBatcho unTable. 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 defectoFalse) — EXPERIMENTAL: Si esTrue, intenta desasignar la memoria de Arrow de origen al convertir el objeto Arrow a pandas. Si usas el objeto después de llamar ato_pandascon esta opción, tu programa se bloqueará. - types_mapper (
function, por defectoNone) — Una función que mapea un DataType de pyarrow a unExtensionDtypede pandas. Esto se puede usar para sobrescribir el tipo de pandas predeterminado para la conversión de tipos integrados de pyarrow o en ausencia depandas_metadataen el esquema de la Table. La función recibe un DataType de pyarrow y se espera que devuelva unExtensionDtypede pandas oNonesi se debe usar la conversión predeterminada para ese tipo. Si tienes un mapeo de diccionario, puedes pasardict.getcomo 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.
campo
< source >( *args**kwargs )
Seleccione un campo del esquema por su nombre de columna o índice numérico.
columna
< source >( *args**kwargs )
Seleccione una columna por su nombre de columna o por su índice numérico.
Itera sobre todas las columnas en su orden numérico.
Esquema de la tabla y sus columnas.
Lista de todas las columnas en orden numérico.
Número de columnas en esta tabla.
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.
Dimensiones de la tabla: (#filas, #columnas).
Número total de bytes consumidos por los elementos de la tabla.
Nombres de las columnas de la tabla.
slice
< source >( offset = 0length = None )
Calcula una porción de copia cero de esta Table.
Seleccione registros de una Table. Consulte pyarrow.compute.filter para el uso completo.
flatten
< source >( *args**kwargs )
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
< source >( *args**kwargs )
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
< source >( *args**kwargs )
Convierte los valores de la tabla a otro esquema.
replace_schema_metadata
< source >( *args**kwargs ) → datasets.table.Table
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
< source >( *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
< source >( *args**kwargs ) → datasets.table.Table
Agrega la columna al final de las columnas.
remove_column
< source >( *args**kwargs ) → datasets.table.Table
Crea una nueva Table con la columna indicada eliminada.
set_column
< source >( *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.
Crea una tabla nueva con las columnas renombradas a los nombres proporcionados.
select
< source >( *args**kwargs ) → datasets.table.Table
Selecciona columnas de la tabla.
Devuelve una nueva tabla con las columnas especificadas y los metadatos conservados.
drop
< source >( *args**kwargs ) → datasets.table.Table
Descarta una o más columnas y devuelve una nueva tabla.
from_pandas
< source >( *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 laTableresultante. El valor predeterminado de None almacenará el índice como una columna, excepto para RangeIndex, que se almacena solo como metadatos. Usepreserve_index=Truepara forzar que se almacene como una columna. - nthreads (
int, por defectoNone(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 esNone, se usan todas las columnas. - safe (
bool, por defectoTrue) — 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.
from_arrays
< source >( *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 defectoNone) — Esquema para la tabla creada. Si no se pasa, deben pasarse los nombres. - metadata (
Union[dict, Mapping], por defectoNone) — Metadatos opcionales para el esquema (si se infiere).
Construir una tabla a partir de matrices Arrow.
Construir una tabla a partir de arrays o columnas de Arrow.
from_batches
< source >( *args**kwargs ) → datasets.table.Table
Construir una tabla a partir de una secuencia o iterador de RecordBatches de Arrow.
MemoryMappedTable
clase datasets.table.MemoryMappedTable
< source >( 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
< source >( *args**kwargs )
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
< source >( *args**kwargs ) → bool
Parámetros
- other (Tabla) — Tabla con la que comparar.
- check_metadata
bool, por defectoFalse) — 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
< source >( *args**kwargs )
Convierte una tabla en una lista de objetos RecordBatch (contiguos).
Convierte la Table en un dict o un OrderedDict.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
Parámetros
- memory_pool (
MemoryPool, por defectoNone) — 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 defectoFalse) — Codifica los tipos de cadena (UTF8) y binarios apandas.Categorical. - categories (
list, por defectoempty) — Lista de campos que deben devolverse comopandas.Categorical. Solo se aplica a estructuras de datos tipo tabla. - zero_copy_only (
bool, por defectoFalse) — Lanza unaArrowExceptionsi esta llamada a la función requeriría copiar los datos subyacentes. - integer_object_nulls (
bool, por defectoFalse) — Convierte los enteros con valores nulos en objetos. - date_as_object (
bool, por defectoTrue) — Convierte las fechas en objetos. Si esFalse, se convierte al tipo de datosdatetime64[ns]. - timestamp_as_object (
bool, por defectoFalse) — 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 esFalse, todos los timestamps se convierten al dtypedatetime64[ns]. - use_threads (
bool, por defectoTrue) — Si se debe paralelizar la conversión usando múltiples hilos. - deduplicate_objects (
bool, por defectoFalse) — 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 defectoFalse) — Si esTrue, no se utiliza la metadatos de ‘pandas’ para reconstruir el índice del DataFrame, si está presente. - safe (
bool, por defectoTrue) — 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 defectoFalse) — Si esTrue, genera un “bloque” interno por cada columna al crear un pandas.DataFrame a partir de unRecordBatcho unTable. 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 defectoFalse) — EXPERIMENTAL: Si esTrue, intenta desasignar la memoria de Arrow de origen al convertir el objeto Arrow a pandas. Si usas el objeto después de llamar ato_pandascon esta opción, tu programa se bloqueará. - types_mapper (
function, por defectoNone) — Una función que mapea un DataType de pyarrow a unExtensionDtypede pandas. Esto se puede usar para sobrescribir el tipo de pandas predeterminado para la conversión de tipos integrados de pyarrow o en ausencia depandas_metadataen el esquema de la Table. La función recibe un DataType de pyarrow y se espera que devuelva unExtensionDtypede pandas oNonesi se debe usar la conversión predeterminada para ese tipo. Si tienes un mapeo de diccionario, puedes pasardict.getcomo 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.
campo
< source >( *args**kwargs )
Seleccione un campo del esquema por su nombre de columna o índice numérico.
columna
< source >( *args**kwargs )
Seleccione una columna por su nombre de columna o por su índice numérico.
Itera sobre todas las columnas en su orden numérico.
Esquema de la tabla y sus columnas.
Lista de todas las columnas en orden numérico.
Número de columnas en esta tabla.
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.
Dimensiones de la tabla: (#filas, #columnas).
Número total de bytes consumidos por los elementos de la tabla.
Nombres de las columnas de la tabla.
slice
< source >( offset = 0length = None )
Calcula una porción de copia cero de esta Table.
Seleccione registros de una Table. Consulte pyarrow.compute.filter para el uso completo.
flatten
< source >( *args**kwargs )
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
< source >( *args**kwargs )
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
< source >( *args**kwargs )
Convertir los valores de la tabla a otro esquema
replace_schema_metadata
< source >( *args**kwargs ) → datasets.table.Table
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
< source >( *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
< source >( *args**kwargs ) → datasets.table.Table
Agrega la columna al final de las columnas.
remove_column
< source >( *args**kwargs ) → datasets.table.Table
Crea una nueva Table con la columna indicada eliminada.
set_column
< source >( *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.
Crea una tabla nueva con las columnas renombradas a los nombres proporcionados.
select
< source >( *args**kwargs ) → datasets.table.Table
Selecciona columnas de la tabla.
Devuelve una nueva tabla con las columnas especificadas y los metadatos conservados.
drop
< source >( *args**kwargs ) → datasets.table.Table
Descarta una o más columnas y devuelve una nueva tabla.
ConcatenationTable
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
InMemoryTablese 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
< source >( *args**kwargs )
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
< source >( *args**kwargs ) → bool
Parámetros
- other (Tabla) — Tabla con la que comparar.
- check_metadata
bool, por defectoFalse) — 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
< source >( *args**kwargs )
Convierte una tabla en una lista de objetos RecordBatch (contiguos).
Convierte la Table en un dict o un OrderedDict.
to_pandas
< source >( *args**kwargs ) → pandas.Series or pandas.DataFrame
Parámetros
- memory_pool (
MemoryPool, por defectoNone) — 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 defectoFalse) — Codifica los tipos de cadena (UTF8) y binarios apandas.Categorical. - categories (
list, por defectoempty) — Lista de campos que deben devolverse comopandas.Categorical. Solo se aplica a estructuras de datos tipo tabla. - zero_copy_only (
bool, por defectoFalse) — Lanza unaArrowExceptionsi esta llamada a la función requeriría copiar los datos subyacentes. - integer_object_nulls (
bool, por defectoFalse) — Convierte los enteros con valores nulos en objetos. - date_as_object (
bool, por defectoTrue) — Convierte las fechas en objetos. Si esFalse, se convierte al tipo de datosdatetime64[ns]. - timestamp_as_object (
bool, por defectoFalse) — 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 esFalse, todos los timestamps se convierten al dtypedatetime64[ns]. - use_threads (
bool, por defectoTrue) — Si se debe paralelizar la conversión usando múltiples hilos. - deduplicate_objects (
bool, por defectoFalse) — 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 defectoFalse) — Si esTrue, no se utiliza la metadatos de ‘pandas’ para reconstruir el índice del DataFrame, si está presente. - safe (
bool, por defectoTrue) — 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 defectoFalse) — Si esTrue, genera un “bloque” interno por cada columna al crear un pandas.DataFrame a partir de unRecordBatcho unTable. 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 defectoFalse) — EXPERIMENTAL: Si esTrue, intenta desasignar la memoria de Arrow de origen al convertir el objeto Arrow a pandas. Si usas el objeto después de llamar ato_pandascon esta opción, tu programa se bloqueará. - types_mapper (
function, por defectoNone) — Una función que mapea un DataType de pyarrow a unExtensionDtypede pandas. Esto se puede usar para sobrescribir el tipo de pandas predeterminado para la conversión de tipos integrados de pyarrow o en ausencia depandas_metadataen el esquema de la Table. La función recibe un DataType de pyarrow y se espera que devuelva unExtensionDtypede pandas oNonesi se debe usar la conversión predeterminada para ese tipo. Si tienes un mapeo de diccionario, puedes pasardict.getcomo 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.
campo
< source >( *args**kwargs )
Seleccione un campo del esquema por su nombre de columna o índice numérico.
columna
< source >( *args**kwargs )
Seleccione una columna por su nombre de columna o por su índice numérico.
Itera sobre todas las columnas en su orden numérico.
Esquema de la tabla y sus columnas.
Lista de todas las columnas en orden numérico.
Número de columnas en esta tabla.
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.
Dimensiones de la tabla: (#filas, #columnas).
Número total de bytes consumidos por los elementos de la tabla.
Nombres de las columnas de la tabla.
slice
< source >( offset = 0length = None )
Calcula una porción de copia cero de esta Table.
Seleccione registros de una Table. Consulte pyarrow.compute.filter para el uso completo.
flatten
< source >( *args**kwargs )
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
< source >( *args**kwargs )
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
< source >( target_schema*args**kwargs )
Convierte los valores de la tabla a otro esquema.
replace_schema_metadata
< source >( *args**kwargs ) → datasets.table.Table
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
< source >( *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
< source >( *args**kwargs ) → datasets.table.Table
Agrega la columna al final de las columnas.
remove_column
< source >( i*args**kwargs ) → datasets.table.Table
Crea una nueva Table con la columna indicada eliminada.
set_column
< source >( *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.
Crea una tabla nueva con las columnas renombradas a los nombres proporcionados.
select
< source >( columns*args**kwargs ) → datasets.table.Table
Selecciona columnas de la tabla.
Devuelve una nueva tabla con las columnas especificadas y los metadatos conservados.
drop
< source >( columns*args**kwargs ) → datasets.table.Table
Descarta una o más columnas y devuelve una nueva tabla.
from_tables
< source >( tables: listaxis: int = 0 )
Crea ConcatenationTable a partir de una lista de tablas.
Utilidades
datasets.table.concat_tables
< source >( 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 es0, lo que significa sobre filas) — Eje sobre el que concatenar, donde0significa sobre filas (verticalmente) y1significa 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
< source >( 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.