[numpy] Separatore decimale

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

[numpy] Separatore decimale

Messaggio da vaeVictis »

Ciao a tutti.

Con numpy devo gestire dei numeri in questo formato:

Codice: Seleziona tutto

12.345,67
il punto in basso è il separatore delle migliaia, la virgola il separatore decimale.

Quale è la migliore strategia per impostare in python questi due "esotici separatori"?
Non sto capendo.

Grazie in anticipo
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Avatar utente
M_A_W_ 1968
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 856
Iscrizione: venerdì 15 febbraio 2013, 3:57
Desktop: KDE
Distribuzione: SuSE
Sesso: Maschile
Località: Un luogo geometrico
Contatti:

Re: [numpy] Separatore decimale

Messaggio da M_A_W_ 1968 »

Quando ho necessità di codesta roba, in genere faccio così:

Codice: Seleziona tutto

import locale
locale.setlocale(locale.LC_ALL, '')

print "L'incendio suo seguiva ogne scintilla;\n\
ed eran tante, che 'l numer loro\n\
piu' che 'l doppiar delli scacchi, s'inmilla\n\n"

to = 0
for i in range(64):
    to = to + 10 ** (3*i)

angeli = locale.format("%d", to, grouping=True)    
print angeli
Tra parentesi, questo esempio stampa il numero di angeli danteschi secondo la progressione di Sissa modificata, che cresce di mille in mille per ogni casella della scacchiera... un numero incalcolabile per gli abacisti medievali, che ha messo a dura prova molti illustri dantisti. In realtà, Dante (che conosceva perfettamente ogni dettaglio dottrinale, avendo anche studiato lungamente presso i padri Francescani e poi dai Domenicani in S. Maria Novella, dopo la morte in giovane età di Beatrice Portinari) chiarisce nel Convivio che il numero degli angeli è incalcolabile, per motivi appunto dottrinali, e lo ribadisce anche altrove nella Commedia, in Par. XIII, 95-100:

Non ho parlato sì, che tu non posse
ben veder ch'el fu re, che chiese senno
acciò che re sufficïente fosse;
non per sapere il numero in che enno
li motor di qua sù
, o se necesse
con contingente mai necesse fenno;


Qui l'oggetto della discussione è se vi sia contraddizione tra la sapienza perfetta di Adamo e di Cristo, e quella di Salomone. Le affermazioni e le argomentazioni qui portate sono di altissimo livello, il che è tipico della proteiforme cultura del nostro Dante.
Per dirimere la raffinata questione teologica, Dante asserisce che Salomone chiese sì una superiore sapienza, ma in perfetta umiltà, e solo subordinatamente alla realizzazione di un regno giusto e ispirato alle sacre scritture: a supporto di questa tesi elenca una serie di esempi per dimostrare che, se il re biblico avesse avuto interesse fine a se stesso per una conoscenza assoluta, perfetta e universale, ben altro avrebbe dovuto chiedere! In particolare, Salomone non chiese una sapienza teologica per sapere quanti sono gli angeli, e questo implica che dottrinalmente si riteneva che non fosse possibile determinarne il numero. Tutte le note, dal Sapegno in giù, concordemente spiegano in tal guisa il riferimento a "li motor di qua su".

Il che deve mettere definitivamente a tacere tutte le ipotesi dilettantesche che ancora fioriscono su questa benedetta scintilla che s'inmilla: nessuno avrebbe saputo davvero calcolare un numero del genere nel 1300, il Liber Abaci di Leonardo Pisano Fibonacci (che come tutti sanno, tranne wikipedia fino a qualche tempo fa, è un patronimico, da filius Bonacci) era ancora scarsamente diffuso (si parla di icunaboli!), tanto che difficilmente Dante potrebbe averne avuta in mano una copia, anche nei suoi ultimi anni di vita. Il fatto che il matematico pratese Paolo Dagomari detto (per antonomasia) dell'Abaco o dell'Abbaco abbia impartito qualche lezione al figlio di Dante non pare poi particolarmente significativo ai sensi di questa vicenda.

Scusate la digressione, ma Dante per un fiorentino è comunque materia d'esame per tutta la vita. Chiamatelo pure genius loci. :D
Sì, un blog ce l'ho perfino io: gli è che mi manca il tempo...

"...in una società che sembra sempre più spaventata dai problemi troppo articolati e che rigetta come un corpo estraneo ogni elemento di complessità, sapremo ancora come utilizzare il parere degli esperti?"
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: [numpy] Separatore decimale

Messaggio da vaeVictis »

Meno male che non avevo ancora detto che ho "risolto" il problema in fase di lettura del file.
Quando lo leggo, faccio le modifiche che mi servono per avere a che fare con dei numeri a prova di guelfo.

Codice: Seleziona tutto

>>> content = [ line.rstrip().replace('.','').replace(',','.') for line in open(inFilePath)  ]
In questo modo, ho a che fare con righe del tipo

Codice: Seleziona tutto

'21/02/2006;37677.00;37917.00;37597.00;37688.00;0.25;651152340'
e Python non mi esilia.

... ora mi prendo un paio di mesi per capi' che 'azz'hai scritto :o
:)
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 18 ospiti