Lorsque j'imprime un tableau numpy, j'obtiens une représentation tronquée, mais je veux le tableau complet.
Y a-t-il un moyen de le faire ?
Exemples :
>>> numpy.arange(10000)
array([ 0, 1, 2, ..., 9997, 9998, 9999])
>>> numpy.arange(10000).reshape(250,40)
array([[ 0, 1, 2, ..., 37, 38, 39],
[ 40, 41, 42, ..., 77, 78, 79],
[ 80, 81, 82, ..., 117, 118, 119],
...,
[9880, 9881, 9882, ..., 9917, 9918, 9919],
[9920, 9921, 9922, ..., 9957, 9958, 9959],
[9960, 9961, 9962, ..., 9997, 9998, 9999]])
31 votes
Existe-t-il un moyen de le faire de manière ponctuelle ? C'est-à-dire d'imprimer la sortie complète une fois, mais pas à d'autres moments dans le script ?
4 votes
@Matt O'Brien voir la réponse de ZSG ci-dessous
6 votes
Pourriez-vous changer la réponse acceptée pour celle recommandant
np.inf
?np.nan
y'nan'
ne fonctionnent que par pure chance, et'nan'
ne fonctionne même pas en Python 3 parce qu'ils ont changé l'implémentation de la comparaison de type mixte quithreshold='nan'
dépendait.1 votes
(
threshold=np.nan
plutôt que'nan'
dépend d'une autre chance, qui est que la logique d'impression du tableau compare la taille du tableau au seuil aveca.size > _summaryThreshold
. Cela renvoie toujoursFalse
pour_summaryThreshold=np.nan
. Si la comparaison avait étéa.size <= _summaryThreshold
en testant si le tableau doit être entièrement imprimé au lieu de tester s'il doit être résumé, ce seuil déclencherait la compression pour tous les tableaux).6 votes
Une façon "unique" de le faire : Si vous avez un tableau numpy.array
tmp
justelist(tmp)
. D'autres options avec un formatage différent sonttmp.tolist()
ou pour plus de contrôleprint("\n".join(str(x) for x in tmp))
.0 votes
Une astuce simple consiste à convertir le tableau en un dataframe pandas, et à tirer parti de son formatage plus convivial :
import pandas; pandas.DataFrame(my_numpy_array)
0 votes
@tumultous_rooster Pour une modification temporaire, voir la réponse ci-dessous en utilisant le nouveau gestionnaire de contexte numpy.