[python] Comment imprimer des tableaux Numpy sans notation supplémentaire (crochets [] et espaces entre éléments)?



1 Answers

np.savetxt(sys.stdout.buffer, a, fmt='%s', delimiter='')
Question

J'ai un tableau numérique bidimensionnel qui ressemble à ceci:

[[a b c]
 [d e f]
 [g h i]]

Je voudrais l'imprimer sans le flou de notation par défaut qui vient généralement avec des tableaux; à savoir le [ , ] et les espaces entre les éléments. Quelque chose comme ça:

abc
def
ghi

Est-il possible de faire une telle chose (sans une boucle Python triviale et peut-être chère, bien sûr)?

J'ai regardé numpy.set_printoptions mais il semble qu'il ne définit que des options de présentation pour la façon dont les éléments sont affichés, pas les caractères intermédiaires .

Edit : Les éléments du tableau ont une représentation de chaîne qui peut être n'importe quoi, y compris [ , ] et des espaces. Exemple minimal de la façon de construire un tel tableau:

class custom(object):
    def __repr__(self):
        return 'a'
a = numpy.empty((5, 5), custom)
a.fill(custom())
print a



C'est assez simple, si votre tableau est juste faire ceci:

print(re.sub('[ ]+', ' ', re.sub(' *[\\[\\]] *', '', np.array_str(a))))



Related