J'ai testé PyCharm et IDLE, les deux imprimant le septième numéro sur une deuxième ligne.
Contribution:
import numpy as np
a=np.array([ 1.02090721, 1.02763091, 1.03899317, 1.00630297, 1.00127454, 0.89916715, 1.04486896])
print(a)
Sortie:
[ 1.02090721 1.02763091 1.03899317 1.00630297 1.00127454 0.89916715
1.04486896]
Comment puis-je les imprimer sur une ligne?
Il existe np.set_printoptions
qui permet de modifier la "largeur de ligne" du tableau NumPy imprimé:
>>> import numpy as np
>>> np.set_printoptions(linewidth=np.inf)
>>> a = np.array([ 1.02090721, 1.02763091, 1.03899317, 1.00630297, 1.00127454, 0.89916715, 1.04486896])
>>> print(a)
[1.02090721 1.02763091 1.03899317 1.00630297 1.00127454 0.89916715 1.04486896]
Il imprimera tous les tableaux 1D sur une ligne. Cela ne fonctionnera pas aussi facilement avec les tableaux multidimensionnels.
Semblable à ici vous pouvez utiliser un gestionnaire de contexte si vous voulez juste temporairement changer cela:
import numpy as np
from contextlib import contextmanager
@contextmanager
def print_array_on_one_line():
oldoptions = np.get_printoptions()
np.set_printoptions(linewidth=np.inf)
yield
np.set_printoptions(**oldoptions)
Ensuite, vous l’utilisez comme ceci (en supposant une nouvelle session d’interprète):
>>> import numpy as np
>>> np.random.random(10) # default
[0.12854047 0.35702647 0.61189795 0.43945279 0.04606867 0.83215714
0.4274313 0.6213961 0.29540808 0.13134124]
>>> with print_array_on_one_line(): # in this block it will be in one line
... print(np.random.random(10))
[0.86671089 0.68990916 0.97760075 0.51284228 0.86199111 0.90252942 0.0689861 0.18049253 0.78477971 0.85592009]
>>> np.random.random(10) # reset
[0.65625313 0.58415921 0.17207238 0.12483019 0.59113892 0.19527236
0.20263972 0.30875768 0.50692189 0.02021453]
Si vous voulez une version personnalisée de str(a)
, la réponse est array_str
:
>>> print(a)
[ 1.02090721 1.02763091 1.03899317 1.00630297 1.00127454 0.89916715
1.04486896]
>>> str(a)
'[1.02090721 1.02763091 1.03899317 1.00630297 1.00127454 0.89916715\n 1.04486896]'
>>> np.array_str(a, max_line_width=np.inf)
'[1.02090721 1.02763091 1.03899317 1.00630297 1.00127454 0.89916715 1.04486896]'
>>> print(np.array_str(a, max_line_width=np.inf)
[1.02090721 1.02763091 1.03899317 1.00630297 1.00127454 0.89916715 1.04486896]
Si vous souhaitez modifier l’impression de every array, et pas seulement ici, consultez set_printoptions
.
Tapez cast dans une liste lors de l'impression.
import numpy as np
a=np.array([ 1.02090721, 1.02763091, 1.03899317, 1.00630297, 1.00127454, 0.89916715, 1.04486896])
print(list(a))
Cela imprimera sur une seule ligne.