Lo que deberías hacer es llamar a array_float32.byteswap().newbyteorder() antes de guardar el array.
byteswap() cambia los bytes "físicamente", son en la memoria pasarás de tener 0001 a 1000, y newbyteorder() le dice a numpy como es el endianness de los datos. En newbyteorder() te lo deberías poder ahorrar si no vas a hacer nada más con el array, pero debería ser inmediato, solo cambia una flag, con lo cual creo que mejor hacerlo. On Tue, May 9, 2017 at 3:25 PM, Rolando Paz <flx...@gmail.com> wrote: > Hola a todos... > > Estoy usando este código para convertir mis datos uin32 a float32. > > import numpy as np > > array_float32 = np.fromfile('pulsar_test_01_19273_1024ch.bin', > dtype=np.uint32).astype(np.float32) > > with open("pulsar_test_01_19273_1024ch_big", "wb") as output_array: > output_array.write(array_float32.tostring()) > > todo lo hace bien...sin embargo mis datos uint32 son big-endian y yo > necesito que los float32 sean little-endian. > > He leído que podría usar byteswap(True), pero aún no se si esta es mi > solución. > > Pueden sugerirme algo? > > Saludos > > Rolando > > > > > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > >
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es