numpet savetxt formaté en nombre entier n'enregistre pas les zéros
Je suis en train d'enregistrer numpy.tableau .csv de la manière suivante.
with open("resultTR.csv", "wb") as f:
f.write(b'ImageId,Label\n')
numpy.savetxt(f, result, fmt='%i', delimiter=",")
résultat est numpy.tableau qui se compose de deux colonnes, la première colonne sont des indices (les numéros 1 à n) et de la deuxième colonne les valeurs de (0,9).
Malheureusement j'ai un problème que lorsqu'il y a 0 dans la deuxième colonne, puis rien n'est écrit dans le fichier .fichier csv dans la deuxième colonne.
En d'autres termes les cinq premières lignes du tableau ressemble à ceci:
[[ 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]
Et les cinq premières lignes de .csv fichier comme ceci:
ImageId,Label
1,2
2
3,9
4,9
5,3
Il me semble que mon code devrait fonctionner, et donc pas l'économie des zéros me semble très bizarre. Quelqu'un aurait-il une idée de ce que peut être le problème avec mon code pour l'écriture .fichier csv?
EDIT:
Juste pour compleetnes ma version de python est 2.7.2 et il fonctionne sur Mac OS X 10.9.2
source d'informationauteur ziky90 | 2014-03-21
Vous devez vous connecter pour publier un commentaire.
Je voudrais essayer de sauver le tableau comme un tableau int, comme dans
result.astype(int)
ou en totalité:Également eu le même problème dans un script à l'aide de
numpy.savetxt
mais je ne pouvais pas utiliserresult.astype(int)
comme je l'avais flotte dans une autre colonne.Résolu à l'aide de
%5.0f
pour le format de la sortie de la zéros.