Devo convertire una serie numpy di float in una stringa (da memorizzare in un DB SQL) e poi anche convertire la stessa stringa in un array numpy float.Convertire un array numpy in una stringa CSV e una stringa CSV in un array numpy
Ecco come ho intenzione di una stringa()
VIstring = ''.join(['%.5f,' % num for num in VI])
VIstring= VIstring[:-1] #Get rid of the last comma
Quindi in primo luogo questo funziona, è un buon modo per andare? Il loro è un modo migliore per sbarazzarsi di quest'ultima virgola? Oppure posso ottenere il metodo join
per inserire le virgole per me?
In secondo luogo, ancora più importante, c'è un modo intelligente per passare dalla stringa a un array float?
Ecco un esempio della matrice e la stringa:
VI
array([ 17.95024446, 17.51670904, 17.08894626, 16.66695611,
16.25073861, 15.84029374, 15.4356215 , 15.0367219 ,
14.64359494, 14.25624062, 13.87465893, 13.49884988,
13.12881346, 12.76454968, 12.40605854, 12.00293814,
11.96379322, 11.96272486, 11.96142533, 11.96010489,
11.95881595, 12.26924591, 12.67548634, 13.08158864,
13.4877041 , 13.87701221, 14.40238245, 14.94943786,
15.49364166, 16.03681428, 16.5498035 , 16.78362298,
16.90331119, 17.02299387, 17.12193689, 17.09448654,
17.00066063, 16.9300633 , 16.97229868, 17.2169709 , 17.75368411])
VIstring
'17.95024,17.51671,17.08895,16.66696,16.25074,15.84029,15.43562,15.03672,14.64359,14.25624,13.87466,13.49885,13.12881,12.76455,12.40606,12.00294,11.96379,11.96272,11.96143,11.96010,11.95882,12.26925,12.67549,13.08159,13.48770,13.87701,14.40238,14.94944,15.49364,16.03681,16.54980,16.78362,16.90331,17.02299,17.12194,17.09449,17.00066,16.93006,16.97230,17.21697,17.75368'
Oh sì e la perdita di precisione dal %.5f
è totalmente soddisfacente, questi valori sono interpolati dai punti originali hanno solo 4 decimale precisione quindi non ho bisogno di batterlo. Così, quando il recupero della matrice NumPy, sono felice di ottenere solo 5 decimale di precisione (ovviamente suppongo)
È possibile controllare le funzioni numetide di salvataggio e caricamento di testo – Matt
@MattAnderson C'è un modo per usarle per inserire il testo direttamente nelle stringhe e caricarlo direttamente dalle stringhe in memoria anziché utilizzare i file? – Dan