Convertir una matriz numpy en una cadena CSV y una cadena CSV nuevamente en una matriz numpy

Tengo que convertir una matriz numpy de flotantes en una cadena (para almacenar en una base de datos SQL) y luego volver a convertir la misma cadena en una matriz flotante numpy.

Así es como voy a una cuerda (basado en este articulo)

VIstring = ''.join(['%.5f,' % num for num in VI])
VIstring= VIstring[:-1] #Get rid of the last comma

Entonces, en primer lugar, esto funciona, ¿es una buena manera de ir? ¿Es su mejor manera de deshacerse de esa última coma? O puedo obtener eljoin ¿Método para insertar las comas para mí?

Luego, en segundo lugar, lo que es más importante, ¿hay una forma inteligente de volver de la cadena a una matriz flotante?

Aquí hay un ejemplo de la matriz y la cadena:

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í y la pérdida de precisión de la%.5f está totalmente bien, estos valores están interpolados por los puntos originales, solo tienen una precisión de 4 decimales, por lo que no necesito superarlos. Así que cuando recupero la matriz numpy, estoy feliz de obtener solo una precisión de 5 decimales (obviamente, supongo)

Respuestas a la pregunta(3)

Su respuesta a la pregunta