[Python-es] Cambio de enteros a flotantes

Rolando Paz flxpaz en gmail.com
Mar Mar 14 09:41:32 EDT 2017


Gracias Miguel y David.

David, mi archivo se llama pocobe4_r19_v18_r20.dat (se encuentra adjunto),
y según tu consejo, hice esto:

#!/usr/bin/env python

import numpy as np

data = open("pocobe4_r19_v18_r20.dat", "rb").read()
array = np.fromstring("data", dtype=np.int32).astype(np.float32)
with open("prueba_out", "wb") as prueba_out:
    prueba_out.write(array.tostring())

Es correcto?

Saludos

Rolando


El 14 de marzo de 2017, 2:23, Daπid <davidmenhur en gmail.com> escribió:

> > Me pueden sugerir alguna forma de cambiar un archivo binario de 32 bits
> enteros a un archivo binario de 32 bits flotantes?
>
> Yo usaría Numpy, si te puedes permitir la dependencia.
>
> array = np.fromstring(open(f_in).read(), dtype=np.int32).astype(np.
> float32)
> with open(f_out, 'wb') as f_out:
>    f_out.write(array.tostring())
>
> 2017-03-14 2:02 GMT+01:00 Miguel de Dios Matias <tres.14159 en gmail.com>:
> > Así a voz de pronto vas a perder precisión porque creo que solo
> > tendrías 6 dígitos y el resto exponente frente a un entero que
> > tendrías mas o menos 9 dígitos.
>
> Sólo a partir de 8388607
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20170314/e1cbb50d/attachment.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: pocobe4_r19_v18_r20.dat.tar.gz
Type: application/x-gzip
Size: 59522 bytes
Desc: no disponible
URL: <http://mail.python.org/pipermail/python-es/attachments/20170314/e1cbb50d/attachment.bin>


Más información sobre la lista de distribución Python-es