Hola lista, estoy jugando con Pandas para un pequeño proyecto profesional donde tengo que analizar datos de unos servidores. Hasta ahora se integraban estos CSV en servidores SQL y se ejecutaban consultas sobre ellos para generar unos report.
Básicamente cada CSV contiene los datos de procesado del servidor, con requests desde un cliente, tiempos de procesado en el servidor (en segundos) en las distinas etapas, y forwarding a otro servidor, con su respuesta (http result code). El CSV contendría algo tal que: date, time, uri, size, process_request, parsing, transform, forward, result_code, .... Con pandas cargo el CSV diario y proceso a procesar, que no es otra cosa que agrupamientos: - por result code - por hora - por tamaño hay operaciones adicionales, pero que no importan ahora. La cuestión es: ¿cómo hago el agrupado por hora y result? he probado varios métodos, alguno me funciona, pero estoy seguro que pandas me ofrece algo mejor y/o más eficiente. La operación sería el equivalente a un SELECT GROUP BY (time, result_code) WHERE (time > 22:59:59 y time < 23:59:59), por poner un ejemplo. Y perdonad mi SQL, hace tiempo que no lo uso... demasiado. Pues bien, mientras jugueteaba, hice esto: dft = df[df.time > '22:59:59'] dft = dft[dft.time < '23:59:59'] grouped = dft.groupby('result_code') Básicamente ahora tengo el agrupado hecho, pero si hago un: grouped.first() Veo algo tal que: date time uri process .... result 200 2013/11/18 2013/11/18
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/