Supprimer la Notation Scientifique dans Numpy Lors de la Création de Tableau De Liste Imbriquée

J'ai un imbriquée Python liste qui ressemble à la suivante:

my_list = [[3.74, 5162, 13683628846.64, 12783387559.86, 1.81],
 [9.55, 116, 189688622.37, 260332262.0, 1.97],
 [2.2, 768, 6004865.13, 5759960.98, 1.21],
 [3.74, 4062, 3263822121.39, 3066869087.9, 1.93],
 [1.91, 474, 44555062.72, 44555062.72, 0.41],
 [5.8, 5006, 8254968918.1, 7446788272.74, 3.25],
 [4.5, 7887, 30078971595.46, 27814989471.31, 2.18],
 [7.03, 116, 66252511.46, 81109291.0, 1.56],
 [6.52, 116, 47674230.76, 57686991.0, 1.43],
 [1.85, 623, 3002631.96, 2899484.08, 0.64],
 [13.76, 1227, 1737874137.5, 1446511574.32, 4.32],
 [13.76, 1227, 1737874137.5, 1446511574.32, 4.32]]

Je puis import Numpy, et de définir les options d'impression pour (suppress=True). Lorsque je crée un tableau:

my_array = numpy.array(my_list)

Je ne peux pas pour la vie de me supprimer la notation scientifique:

[[  3.74000000e+00   5.16200000e+03   1.36836288e+10   1.27833876e+10
    1.81000000e+00]
 [  9.55000000e+00   1.16000000e+02   1.89688622e+08   2.60332262e+08
    1.97000000e+00]
 [  2.20000000e+00   7.68000000e+02   6.00486513e+06   5.75996098e+06
    1.21000000e+00]
 [  3.74000000e+00   4.06200000e+03   3.26382212e+09   3.06686909e+09
    1.93000000e+00]
 [  1.91000000e+00   4.74000000e+02   4.45550627e+07   4.45550627e+07
    4.10000000e-01]
 [  5.80000000e+00   5.00600000e+03   8.25496892e+09   7.44678827e+09
    3.25000000e+00]
 [  4.50000000e+00   7.88700000e+03   3.00789716e+10   2.78149895e+10
    2.18000000e+00]
 [  7.03000000e+00   1.16000000e+02   6.62525115e+07   8.11092910e+07
    1.56000000e+00]
 [  6.52000000e+00   1.16000000e+02   4.76742308e+07   5.76869910e+07
    1.43000000e+00]
 [  1.85000000e+00   6.23000000e+02   3.00263196e+06   2.89948408e+06
    6.40000000e-01]
 [  1.37600000e+01   1.22700000e+03   1.73787414e+09   1.44651157e+09
    4.32000000e+00]
 [  1.37600000e+01   1.22700000e+03   1.73787414e+09   1.44651157e+09
    4.32000000e+00]]

Si je créer un simple tableau numpy directement:

new_array = numpy.array([1.5, 4.65, 7.845])

Je n'ai pas de problème et il imprime comme suit:

[ 1.5    4.65   7.845]

Personne ne sait à quoi mon problème?

  • numpy.set_printoptions contrôle la manière dont les tableaux numpy sont imprimés. Cependant, il n'y a pas d'option pour supprimer entièrement scientifique notatation. C'est le changement parce que vous avez des valeurs allant de 1e-2 jusqu'à 1e9. Si vous avez un plus petit de la gamme, il ne sera pas utiliser la notation scientifique pour les afficher. Pourquoi importe-t-il la façon dont ils sont affichés avec print, si? Si vous essayez d'enregistrer, utilisez savetxt, etc.
  • Pas vraiment ce que vous demandez, mais l'utilisation de numpy.round (même avec une haute précision), j'ai été en mesure de supprimer la notation scientifique qui ressemblait 7.00000000 e+00 dans un SVD de la reconstruction de la matrice. En raison de la notation scientifique (?) il ne serait pas affirmer l'égalité de tous devant. Je suis le mentionner parce que np.set_printoptions(supprimer=True) n'a pas de travail pour résoudre ce problème pour moi.
InformationsquelleAutor donopj2 | 2012-03-19