Question

Dans numpy il y a une fonction qui rend les tableaux impriment plus jolie.

set_printoptions(suppress = True)

En d'autres termes, au lieu de ceci:

array([[  0.00000000e+00,  -3.55271368e-16,   0.00000000e+00,
          1.74443793e-16,   9.68149172e-17],
       [  5.08273978e-17,  -4.42527959e-16,   1.57859836e-17,
          1.35982590e-16,   5.59918137e-17],
       [  3.00000000e+00,   6.00000000e+00,   9.00000000e+00,
          2.73835608e-16,   7.37061982e-17],
       [  2.00000000e+00,   4.00000000e+00,   6.00000000e+00,
          4.50218574e-16,   2.87467529e-16],
       [  1.00000000e+00,   2.00000000e+00,   3.00000000e+00,
          2.75582605e-16,   1.88929494e-16]])

Vous obtenez ceci:

array([[ 0., -0.,  0.,  0.,  0.],
       [ 0., -0.,  0.,  0.,  0.],
       [ 3.,  6.,  9.,  0.,  0.],
       [ 2.,  4.,  6.,  0.,  0.],
       [ 1.,  2.,  3.,  0.,  0.]])

Comment puis-je faire ce réglage permanent il le fait à chaque fois que j'utilise IPython?

Était-ce utile?

La solution

J'ajouté à la fonction main() dans ~/.ipython/ipy_user_conf.py:

from numpy import set_printoptions
set_printoptions(suppress = True)

et il semble fonctionner.

Dans les versions ultérieures, exécutez ipython ipython profile create, puis ~\.ipython\profile_default\ipython_config.py ouvrir et modifier la ligne suivante pour ajouter la commande:

c.InteractiveShellApp.exec_lines = [
        ...
        'import numpy as np',
        'np.set_printoptions(suppress=True)',
        ...
        ]

Autres conseils

Vous pouvez les ajouter à votre fichier ipythonrc (situé dans ~/.ipython sur Unix). Vous auriez besoin les lignes:

import_mod numpy
execute numpy.set_printoptions(suppress = True)

Vous pouvez également l'ajouter à un profil personnalisé ou utiliser une autre méthode de configuration:

http://ipython.scipy.org/doc/stable /html/config/customization.html

Eh bien, une façon de rationaliser serait de créer un module wee quelque part sur votre PYTHONPATH $, par exemple printopts, contenant:

import numpy
numpy.set_printoptions(suppress = True)

Et puis importer que chaque fois que vous voulez changer l'impression. Vous pouvez également importer numpy dans votre code comme from printopts import numpy. De cette façon, vous auriez besoin d'un seul déclaration d'importation.

Vive.

ADDENDA: Une solution pour une utilisation interactive que est de définir la variable d'environnement PYTHONSTARTUP $ au chemin du fichier printopts.py. L'interpréteur exécute ce fichier avant toute autre chose, en mode interactif. Bien sûr, alors Python toujours numpy de charge, mal des temps de démarrage.

Ayant examiné un peu plus, ce que je voudrais faire est de créer un module, par exemple contenant np.py

from numpy import *
set_printoptions(supress=True)

Alors toujours import np pour obtenir votre version modifiée, pour la raison dans mon commentaire ci-dessous.

Si vous ne me dérange pas un hack, ajoutez simplement le set_printoptions () pour le fichier the numpy/__init__.py, mais vous devez avoir accès en écriture à l'installation de numpy et souvenez-vous de répéter le hack lorsque vous mettez à jour ou python numpy. Je ne pense pas que ce soit une bonne idée.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top