Articles of pytables

Guardando diccionarios en el archivo (compatible con numpy y Python 2/3)

Quiero hacer un almacenamiento jerárquico de clave-valor en Python, que básicamente se reduce a almacenar diccionarios en archivos. Con eso me refiero a cualquier tipo de estructura de diccionario, que puede contener otros diccionarios, matrices numpy, objetos de Python serializables, etc. No solo eso, quiero que almacene numerosos arrays optimizados para el espacio y que […]

Columnas de indexación y datos en Pandas / PyTables

http://pandas.pydata.org/pandas-docs/stable/io.html#indexing Estoy realmente confundido sobre este concepto de columnas de datos en Pandas HDF5 IO. Además, hay muy poca o ninguna información al respecto que se pueda encontrar en Google. Dado que me estoy sumergiendo en Pandas en un gran proyecto que involucra almacenamiento HDF5, me gustaría dejar claro estos conceptos. Los docs dicen: Puede […]

PyTables leer subconjunto aleatorio

¿Es posible leer un subconjunto aleatorio de filas de HDF5 (a través de pyTables o, preferiblemente pandas)? Tengo un conjunto de datos muy grande con millones de filas, pero solo necesito una muestra de unos pocos miles para el análisis. ¿Y qué pasa con la lectura de un archivo HDF comprimido?

Usando pytables, que es más eficiente: matriz densa scipy.sparse o numpy?

Al usar pytables , no hay soporte (por lo que puedo decir) para los formatos de matriz scipy.sparse , así que para almacenar una matriz tengo que hacer algunas conversiones, por ejemplo def store_sparse_matrix(self): grp1 = self.getFileHandle().createGroup(self.getGroup(), ‘M’) self.getFileHandle().createArray(grp1, ‘data’, M.tocsr().data) self.getFileHandle().createArray(grp1, ‘indptr’, M.tocsr().indptr) self.getFileHandle().createArray(grp1, ‘indices’, M.tocsr().indices) def get_sparse_matrix(self): return sparse.csr_matrix((self.getGroup().M.data, self.getGroup().M.indices, self.getGroup().M.indptr)) El problema […]

Cómo especificar min_itemsize para una columna de índice

No puedo especificar el tamaño mínimo para el índice en una operación de anexión de to_hdf. Min_itemsize funciona para las columnas de datos, entonces, ¿cómo puedo hacer que funcione para la columna de índice? Este código: from pandas import * df = DataFrame([‘1′,’2’],index=[‘a’,’b’]) df.index.name = ‘symbol’ df.to_hdf(“store.h5”,’df’,append = True,format=’table’,min_itemsize = { ‘symbol’ : 10} ) […]

TypeError: read_hdf () toma exactamente 2 argumentos (1 dado)

¿Cómo abrir un archivo HDF5 con pandas.read_hdf cuando no se conocen las claves? from pandas.io.pytables import read_hdf read_hdf(path_or_buf, key) pandas.__version__ == ‘0.14.1’ Aquí se desconoce el parámetro clave. Gracias

GIL para hilo IO limitado en extensión C (HDF5)

Tengo una aplicación de muestreo que adquiere 250,000 muestras por segundo, las almacena en la memoria y eventualmente se agrega a un HDFStore proporcionado por pandas . En general, esto es genial. Sin embargo, tengo un hilo que se ejecuta y vacía continuamente el dispositivo de adquisición de datos ( DAQ ) y necesita ejecutarse […]

En PyTables, ¿cómo crear una matriz anidada de longitud variable?

Estoy usando PyTables 2.2.1 w / Python 2.6, y me gustaría crear una tabla que contenga matrices anidadas de longitud variable. He buscado en la documentación de PyTables, y el ejemplo del tutorial ( Tutorial de PyTables 3.8 ) muestra cómo crear una matriz anidada de longitud = 1. Pero para este ejemplo, ¿cómo agregaría […]

Numpy eficiente gran matriz de multiplicación

Para almacenar gran matriz en el disco utilizo numpy.memmap. Aquí hay un código de ejemplo para probar la multiplicación de matrices grandes: import numpy as np import time rows= 10000 # it can be large for example 1kk cols= 1000 #create some data in memory data = np.arange(rows*cols, dtype=’float32′) data.resize((rows,cols)) #create file on disk fp0 […]

PyTables + Pandas Select Problems

Tengo un archivo HDF5 (PyTables) estructurado así: // ex: /Dan/A4N5 /Dan/B8P0 /Dave/D3Y7 Cada tabla está estructurada como tal con un sessionID y un tiempo almacenado en la época: sessionID time 0 3ODE3Nzll 1467590400 1 lMGVkMDc4 1467590400 2 jNzIzNmY1 1467590400 … Quiero que Pandas pase por cada tabla y obtenga todas las filas entre una fecha […]