[Python-es] Cambio de enteros a flotantes

Rolando Paz flxpaz en gmail.com
Mar Mar 14 18:16:57 EDT 2017


Ejecuté este código solo para ver los valores

import numpy as np

array_int32 = np.fromfile('pocobe4_r19_v18_r20.dat', dtype=np.int32)
print 'Data int32 signed:'
print array_int32
array_float32 = np.fromfile('pocobe4_r19_v18_r20.dat',
dtype=np.int32).astype(np.float32)
print 'Data float32:'
print array_float32

Y el resultado es:

Data int32 signed:
[-1582119980      262146           0 ...,           0           0
           0]
Data float32:
[ -1.58211994e+09   2.62146000e+05   0.00000000e+00 ...,   0.00000000e+00
   0.00000000e+00   0.00000000e+00]

Creo que sí los convierte a flotantes???

Saludos

El 14 de marzo de 2017, 15:48, Rolando Paz <flxpaz en gmail.com> escribió:

> Hola David
>
> Recién estoy aprendiendo sobre el tema. Me puedes explicar a que te
> refieres con que la distribución de números es uniforme y porqué no debería
> ser así?
>
> Saludos y gracias.
>
> Rolando
>
> El 14 de marzo de 2017, 12:45, Daπid <davidmenhur en gmail.com> escribió:
>
>> Creo que sigue habiendo algo mal. La distribución de números es
>> uniforme en todo el rango de int32.
>>
>> 2017-03-14 18:11 GMT+01:00 Rolando Paz <flxpaz en gmail.com>:
>> > Hola amigos
>> >
>> > Con la ayuda de un amigo Sven Marnach hice esto:
>> >
>> > import numpy as np
>> >
>> > array = np.fromfile('pocobe4_r19_v18_r20.dat',
>> > dtype=np.int32).astype(np.float32)
>> > with open("prueba_out", "wb") as prueba_out:
>> >     prueba_out.write(array.tostring())
>> >
>> > Ahora obtengo un archivo binario.
>> >
>> > Que opinan?
>> >
>> > El 14 de marzo de 2017, 9:12, Kiko <kikocorreoso en gmail.com> escribió:
>> >>
>> >>
>> >>
>> >> El 14 de marzo de 2017, 16:00, Daπid <davidmenhur en gmail.com> escribió:
>> >>>
>> >>> Lo he probado con el adjunto, y parece que lo que tienes no son
>> >>> objetos de 32 bits, porque el tamaño no es múltiplo. Así que o tienes
>> >>> otro tipo de datos (si fueran 16 bits tendrías casi 11 millones de
>> >>> números), o hay una cabecera. No creo que sean 8 o 16 bits porque la
>> >>> distribución de valores es completamente uniforme, a menos que sean
>> >>> datos aleatorios.
>> >>>
>> >>> genfromtxt y amigos te sirven para leer ficheros de texto, no
>> binarios.
>> >>
>> >>
>> >> Mi culpa. He leído los correos en diagonal...
>> >>
>> >>>
>> >>>
>> >>> 2017-03-14 15:34 GMT+01:00 Rolando Paz <flxpaz en gmail.com>:
>> >>> > Gracias Kiko, lo intentare.
>> >>> >
>> >>> > David al ejecutar el pequeño script sobre mi archivo binario,
>> obtengo
>> >>> > un
>> >>> > archivo binario (supongo de flotantes) pero solo tiene cuatro
>> >>> > valores...
>> >>> >
>> >>> > Adjunto el contenido de cada archivo usando ghex.
>> >>> >
>> >>> > Que opinas?
>> >>> >
>> >>> > Saludos
>> >>> >
>> >>> >
>> >>> > 2017-03-14 8:19 GMT-06:00 Daπid <davidmenhur en gmail.com>:
>> >>> >>
>> >>> >> 2017-03-14 14:41 GMT+01:00 Rolando Paz <flxpaz en gmail.com>:
>> >>> >> > array = np.fromstring("data", dtype=np.int32).astype(np.float32)
>> >>> >>
>> >>> >> Te sobran las comillas en "data".
>> >>> >> _______________________________________________
>> >>> >> Python-es mailing list
>> >>> >> Python-es en python.org
>> >>> >> https://mail.python.org/mailman/listinfo/python-es
>> >>> >
>> >>> >
>> >>> >
>> >>> > _______________________________________________
>> >>> > Python-es mailing list
>> >>> > Python-es en python.org
>> >>> > https://mail.python.org/mailman/listinfo/python-es
>> >>> >
>> >>> _______________________________________________
>> >>> Python-es mailing list
>> >>> Python-es en python.org
>> >>> https://mail.python.org/mailman/listinfo/python-es
>> >>
>> >>
>> >>
>> >> _______________________________________________
>> >> Python-es mailing list
>> >> Python-es en python.org
>> >> https://mail.python.org/mailman/listinfo/python-es
>> >>
>> >
>> >
>> > _______________________________________________
>> > Python-es mailing list
>> > Python-es en python.org
>> > https://mail.python.org/mailman/listinfo/python-es
>> >
>> _______________________________________________
>> 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/c5a189d5/attachment.html>


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