Esto es realmente muy relacionado con otra respuesta que he proporcionado en relación con los archivos CSV de lectura/escritura w/numpy:
Python: how to do basic data manipulation like in R?
Usted debe definitivamente uso numpy, no importa qué otra cosa! La facilidad de indexación, etc. supera con creces el costo de la dependencia adicional (bueno, eso creo). PyTables, por supuesto, también depende del numpy.
De lo contrario, realmente depende de su aplicación, su hardware y su audiencia. Sospecho que leer en archivos csv del tamaño del que se habla no importará en términos de velocidad en comparación con PyTables. Pero si eso es una preocupación, ¡escribe un punto de referencia! Lee y escribe algunos datos aleatorios 100 veces. O, si los tiempos de lectura importan más, escriba una vez, lea 100 veces, etc.
Sospecho que PyTables superará a SQL. SQL funcionará en consultas complejas de tablas múltiples (especialmente si realiza las mismas con frecuencia), pero incluso en consultas de tablas de una sola tabla (denominadas "desnormalizadas"), las tablas es difícil de superar en términos de velocidad. No puedo encontrar una referencia para el receso de la mano, pero es posible que pueda cavar algo que mina si los enlaces aquí:
http://www.pytables.org/moin/HowToUse#HintsforSQLusers
supongo ejecutar el rendimiento para que en esta etapa, pálido en comparación con el rendimiento del codificador. ¡Entonces, sobre todo, elija algo que tenga más sentido para usted!
Otros puntos:
Al igual que con SQL, PyTables tiene una función de deshacer. Los archivos CSV no tendrán esto, pero puede mantenerlos en control de versiones, y su VCS no necesita ser demasiado inteligente (los archivos CSV son texto).
En una nota relacionada, los archivos CSV serán mucho más grandes que los formatos binarios (sin duda puede escribir sus propias pruebas para esto).
Probablemente dependa de lo que esté haciendo con los datos, es decir, cómo define la conveniencia. ¿Quiere usted 1. Ver los datos con un buen editor visual siempre que lo desee? 2. ¿Puede verificar los datos visualmente y luego pasarlos a otro programa? Si quiere la primera y necesita esa funcionalidad para 'ver' los datos, entonces el formato csv probablemente no sea una mala elección. Dado 2, las pytables probablemente sean buenas. En cualquier caso, sus datos son pequeños, ¿por qué no guardar ambos? – Marm0t