Pude calcular la media, el mínimo y el máximo de A:
import numpy as np A = ['33.33', '33.33', '33.33', '33.37'] NA = np.asarray(A) NA = NA.astype(float) AVG = np.mean(NA, axis=0) MN = np.min(NA, axis=0) MX = np.max(NA, axis=0) print AVG, MN, MX¿Cuál es la forma más fácil de guardar esos resultados en un documento csv usando python? No tengo uno, así que necesita ser creado.
Si uso esto:
np.savetxt('datasave.csv', (AVG,MN,MX), delimiter=',')Se mostrará como notación científica en csv. ¿Cómo no obtengo eso sino flotar?
In [153]: print(AVG, MN, MX) 33.34 33.33 33.37La escritura predeterminada:
In [154]: np.savetxt('test.txt',(AVG, MN, MX), delimiter=',') In [155]: cat test.txt 3.333999999999999631e+01 3.332999999999999829e+01 3.336999999999999744e+01 escribir con un fmt personalizado:
In [156]: np.savetxt('test.txt',(AVG, MN, MX), delimiter=',', fmt='%f') In [157]: cat test.txt 33.340000 33.330000 33.370000O si desea valores en una línea, conviértalo en una matriz 2d (o equivalente con extra []), para que escriba una fila por línea:
In [160]: np.savetxt('test.txt',[[AVG, MN, MX]], delimiter=',', fmt='%f') In [161]: cat test.txt 33.340000,33.330000,33.370000Hay otros parámetros con los que puedes experimentar.
Puedes usar el módulo CSV
import csv f = open('New file.csv',"wb") writer = csv.writer(f) for row in [AVG, MN, MX]: writer.writerow(row) f.close()Un archivo CSV o de valores separados por comas es precisamente un archivo que separa la información con comas.
Por ejemplo: esta información terminará como
<table border="1"> <thead> <tr> <th>Name</th> <th>Age</th> <th>Gender</th> </tr> </thead> <tbody> <tr> <td>Luis</td> <td>45</td> <td>M</td> </tr> <tr> <td>Anna</td> <td>30</td> <td>F</td> </tr> <tr> <td>Brian</td> <td>28</td> <td>M</td> </tr> </tbody> </table> Name,Age,Gender Luis,45,M Anna,30,F Brian,28,MPython ya tiene un módulo incorporado para esto, el módulo csv, puede obtener documentación aquí: https://docs.python.org/3/library/csv.html