On 10/19/2013 02:50 AM, Boris Vladimir Comi wrote:
Tengo una base de datos mensual y los datos diarios están cada 15 minutos. Desarrollé un script para calcular el promedio y suma de algunas variables. Los datos tienen la siguiente estructura:


MagViento, DirViento, u, v, Humedad, Precipitacion
5.67, 245 , 7.7898, 6.5660, 100, 4.1


Cuando corro el script, obtengo la siguiente salida:

Fecha DirRes Humedad MagRes PreciAcu Temperatura

2011/07/01 141.058824 100.000000 4.647059 30.4 21.367059
2011/07/02 153.823529 99.823529 3.470588 18.0 21.841765
2011/07/03 133.882353 99.823529 4.647059 4.0 21.347059



Ahora deseo guardar la salida a un archivo csv, pero me gustaria que las columnas fueran redondeadas a 1, por ejemplo: 153.823529 = 153.8. Despues de esto, deseo convertir las columnas
DirRes y  Humedad a un numero entero y
MagRes, PreciAcu y Temperatura se queden como float


Como puedo lograr esto en pandas o de alguna otra manera?

Puedes utilizar el método `.to_csv` del objeto DataFrame con el parámetro `float_format`, que acepta una función:

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html

en tu caso sería algo así como:

df.to_csv('data.csv', float_format='{0:.1f}'.format)


Mira a ver si así te funciona.

Juanlu




_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a