Georeferencias: almacenamiento
Francesc Altet
faltet en carabos.com
Sab Mar 4 10:08:09 CET 2006
El dv 03 de 03 del 2006 a les 18:08 -0300, en/na Sebastian Lezica va
escriure:
> Estimado Francesc,
> Acabo de terminar de migrar los datos y convertir las funciones para
> utilizar PyTables (en esta etapa sobre PC), y realmente es fabuloso.
Me alegro que te guste :-)
> Para la búsqueda seguí la documentación, utilizando dos indices y
> filtrando con un 'where(max < columna < min)' y luego iterando la
> lista resultante comparando contra el segundo valor.
No es necesario hacer dos iteraciones. Para hacer consultas complejas,
lo mejor es algo como esto:
seleccion = []
for fila in tabla.where(min < tabla.cols.col1 < max):
if fila['col2'] < max2 or fila['col3'] > min2:
seleccion.append(fila['col4'])
de esta manera tienes procesada esta consulta compleja (existen tres
condiciones en el ejemplo de arriba) en una sola pasada. Acuérdate de
poner la condición más restrictiva dentro del where, para optimizar la
velocidad de la selección.
> Estoy en 0.2 segundos, consumiendo el proceso python solo 14Mb...
> realmente asombroso!. Ahora me estoy poniendo a compilar las
Es asombroso el tiempo o la memoria? Esperabas más consumo de 14 MB?
Hombre, PyTables no es que sea 'ligerito' precisamente, pero tampoco no
es que sea ningún monstruo ;-)
> Solo he tenido algún problema en utilizar el metodo where anidado
> dentro de otro, pero no revise bien los ejemplos aún así que nada, debo
> estar haciendo algo mal. Lo dejo para cuando tenga compilada la versión
> que recomendaste así me queda algo en que jugar :).
PyTables soporta iteradores anidados desde la versión 1.1, pero no se si
es esa la funcionalidad que quieres. Prueba el ejemplo incluido en
examples/nested-iter.py para ver cómo funciona el tema exactamente.
> Te agradezco muchisimo por todos los datos que me has dado!,
Un placer. En parte es una ayuda interesada, ya que me gustaría mucho
saber como funciona PyTables en dispositivos embebidos como el que estas
probando.
Saludos,
--
>0,0< Francesc Altet http://www.carabos.com/
V V Cárabos Coop. V. Enjoy Data
"-"
Más información sobre la lista de distribución Python-es