loadtxt - read csv python
Netspy Savetxt formateado como entero no está guardando ceros (2)
Intentaría guardar la matriz como una matriz int, como en result.astype(int)
, o en su totalidad:
with open("resultTR.csv", "wb") as f:
f.write(b''ImageId,Label/n'')
numpy.savetxt(f, result.astype(int), fmt=''%i'', delimiter=",")
Estoy tratando de guardar numpy.array en .csv de la siguiente manera.
with open("resultTR.csv", "wb") as f:
f.write(b''ImageId,Label/n'')
numpy.savetxt(f, result, fmt=''%i'', delimiter=",")
el resultado es numpy.array que consta de dos columnas, la primera columna son índices (números del 1 al n) y valores de la segunda columna de (0,9).
Desafortunadamente, tengo el problema de que siempre que hay 0 en la segunda columna, no se escribe nada en el archivo .csv resultante en la segunda columna.
En otras palabras, las primeras cinco filas de la matriz tienen este aspecto:
[[ 1.00000000e+00 2.00000000e+00]
[ 2.00000000e+00 0.00000000e+00]
[ 3.00000000e+00 9.00000000e+00]
[ 4.00000000e+00 9.00000000e+00]
[ 5.00000000e+00 3.00000000e+00]
Y las primeras cinco filas del archivo .csv como este:
ImageId,Label
1,2
2
3,9
4,9
5,3
Me parece que mi código debería funcionar y, por lo tanto, no guardar ceros me parece muy extraño. ¿Alguien tiene alguna idea de lo que puede estar mal con mi código para escribir en un archivo .csv?
EDITAR:
Solo para los complementos, mi versión de python es 2.7.2 y se ejecuta en Mac OS X 10.9.2
También tuve el mismo problema en una secuencia de comandos con numpy.savetxt
, pero no pude usar result.astype(int)
ya que tenía flotantes en otra columna.
Se %5.0f
usando %5.0f
para el formato de la salida de los ceros.