Sembra per me banale ma mi manca ancora un modo efficiente e "pulito" per inserire una serie di elementi appartenenti alla serie numpy (come aa[:,:]
) in una stringa formattata da stampata/scritta. Infatti le estese elemento per elemento specifica sintassi piace:stringa formattata di serie di elementi di array numpy
formattedline= '%10.6f %10.6f %10.6f' % (aa[ii,0], aa[ii,1], aa[ii,2])
file1.write(formattedline+'\n')
stanno lavorando.
Ma non ho trovato altra soluzione più breve, perché:
formattedline= '%10.6f %10.6f %10.6f' % (float(aa[ii,:]))
file1.write(formattedline+'\n')
naturalmente dà: TypeError: only length-1 arrays can be converted to Python scalars
o:
formattedline= '%10.6f %10.6f %10.6f' % (aa[ii,:])
file1.write(formattedline+'\n')
dà: TypeError: float argument required, not numpy.ndarray
. Ho provato con iteratori ma senza successo.
Ovviamente questo è interessante quando ci sono diversi elementi da stampare.
Quindi: come è possibile combinare l'iterazione su array numpy e stringa formattata?
che è buono e funzionante! :) ... quindi la seconda soluzione sta effettivamente iterando sulla matrice numpy, molto bella. – gluuke
... ma ancora, aggiungendo una stringa: 'formattedline = '% 4s% 10.6f% 10.6f% 10.6f'% (string1, (tuple (aa [ii,:]))) dà' TypeError: argomento float richiesto, non tuple' e non capisco perché – gluuke
@gluuke devi aggiungerli: '(stringa1,) + tupla (aa [ii,:])'. –