Formatando arrays para impressão

Imprimindo arrays de ponto flutuante

Ao se imprimir arrays com valores em ponto flutuante, o NumPy em geral, imprime o array com muitas as casas decimais e com notação científica, o que dificulta a visualização.


In [2]:
import numpy as np

A = np.exp(np.linspace(0.1,10,32)).reshape(4,8)/3000.
print('A: \n', A)


A: 
 [[  3.68390306e-04   5.06993321e-04   6.97744275e-04   9.60263289e-04
    1.32155235e-03   1.81877265e-03   2.50306691e-03   3.44481975e-03]
 [  4.74089730e-03   6.52461051e-03   8.97942724e-03   1.23578432e-02
    1.70073529e-02   2.34061923e-02   3.22125283e-02   4.43321564e-02]
 [  6.10116684e-02   8.39666729e-02   1.15558259e-01   1.59035850e-01
    2.18871431e-01   3.01219527e-01   4.14550236e-01   5.70520443e-01]
 [  7.85172815e-01   1.08058591e+00   1.48714510e+00   2.04666794e+00
    2.81670543e+00   3.87646151e+00   5.33493976e+00   7.34215526e+00]]

É possível diminuir o número de casas decimais e suprimir a notação exponencial utilizando a função set_printoption do numpy:


In [6]:
np.set_printoptions(suppress=True, precision=3)

print('A: \n', A)


A: 
 [[ 0.     0.001  0.001  0.001  0.001  0.002  0.003  0.003]
 [ 0.005  0.007  0.009  0.012  0.017  0.023  0.032  0.044]
 [ 0.061  0.084  0.116  0.159  0.219  0.301  0.415  0.571]
 [ 0.785  1.081  1.487  2.047  2.817  3.876  5.335  7.342]]

Imprimindo arrays binários

Array booleanos são impressos com as palavras True e False, como no exemplo a seguir:


In [7]:
A = np.random.rand(5,10) > 0.5
print('A = \n', A)


A = 
 [[ True False  True False False  True False False False False]
 [False  True False  True  True False  True False  True False]
 [ True False False False False  True False False False False]
 [ True  True  True  True  True  True False  True  True False]
 [False  True False  True False False False  True False False]]

Para facilitar a visualização destes arrays, é possível converter os valores para inteiros utilizando o método astype(int):


In [9]:
print('A = \n', A.astype(int))


A = 
 [[1 0 1 0 0 1 0 0 0 0]
 [0 1 0 1 1 0 1 0 1 0]
 [1 0 0 0 0 1 0 0 0 0]
 [1 1 1 1 1 1 0 1 1 0]
 [0 1 0 1 0 0 0 1 0 0]]