Économie d'un tableau numpy csv produit TypeError Incompatibilité

J'ai un tableau numpy avec les données numériques de la forme:

example = numpy.array([[[i for i in range(0, 5)],[0 for j in range(0, 5)]] for k in range(0, 10)])

Il est donc tableau de 10 groupes, où chaque groupe se compose de 2 listes de même longueur et ne contient que des chiffres.
L'exécution de la suite enregistrer le code me donne l'erreur ci-dessous:

numpy.savetxt('exampleData.csv', test, delimiter=',')
TypeError: Mismatch between array dtype ('int32') and format specifier ('%.18e %.18e')

Je suppose que ce pourrait être fixé avec quelque chose dans la fmt='xyz' argument, mais la documentation n'est pas particulièrement clair. Toute aide serait appréciée.

(Dans mes données réelles, le i et j les listes sont des listes de long flotteurs, par exemple'0.0047322940571", etc.)

Essayez example = numpy.array([[[float(i) for i in range(0, 5)],[0 for j in range(0, 5)]] for k in range(0, 10)]) et voir si l'erreur persiste. Sinon, essayez un format comme fmt='%04d' dans le savetxtappel.
Dans mon code, les données pour i et j sont les deux flotteurs, je pense que l'erreur provient du fait qu'il ne s'attendait pas à une troisième valeur dans k.
Quelle est la forme de la matrice? savetxt ne fonctionne qu'avec des tableaux 2d. Quel est son dtype?
Ahh, qui me l'expliquer, je suppose qu'on pourrait classer comme un tableau 3D... Que dois-je utiliser à la place?
Ce type de mise en page ne vous attendez-vous? Normalement CSV est juste le nombre de lignes de la correspondance des colonnes. Les lecteurs ont généralement des problèmes avec des lignes blanches ou des lignes avec un nombre différent de colonnes. Les colonnes peuvent différer dans le type de contenu chaînes de caractères, entiers, les chars, mais elles doivent être cohérentes.

OriginalL'auteur Pingk | 2016-04-11