Haciendo la notación científica legible desde una matriz numpy

¿Cómo puedo convertir una matriz como:

array([ -9.8737e+13, -9.8737e+13, -1.1265e+14, 1.5743e-01, 1.1265e+14, 9.8737e+13, 9.8737e+13])

en una forma legible en numpy o python ?

¡Gracias!

Chris

Su matriz contiene valores grandes y pequeños. Es difícil presentar ambos de una manera legible. Si utiliza la notación científica, los números se pueden mostrar de forma compacta, pero es difícil decir de un vistazo qué números son grandes y cuáles son pequeños.

Alternativamente, podría mostrar los flotadores sin notación científica, por ejemplo, como este:

 In [132]: np.set_printoptions(formatter={'float_kind':'{:25f}'.format}) In [133]: x Out[133]: array([ -98737000000000.000000, -98737000000000.000000, -112650000000000.000000, 0.157430, 112650000000000.000000, 98737000000000.000000, 98737000000000.000000]) 

lo que hace que sea más fácil distinguir lo grande de lo pequeño, pero ahora los ojos se sorprenden al ver demasiados ceros.

Después de un tiempo, es posible que desee volver al formato predeterminado de NumPy, lo que puede hacer llamando a np.set_printoptions() sin argumentos.

 In [134]: np.set_printoptions() In [135]: x Out[135]: array([ -9.8737e+13, -9.8737e+13, -1.1265e+14, 1.5743e-01, 1.1265e+14, 9.8737e+13, 9.8737e+13]) 

En cualquier caso, lo anterior le muestra cómo puede configurar NumPy para mostrar flotantes (u otros tipos) de la forma que desee. Consulte la documentación para obtener más información sobre todas las opciones disponibles.