numpy débutant: l'écriture d'un tableau à l'aide de numpy.savetxt
J'ai un numpy histogramme que je voudrais afficher dans un fichier texte délimité par tabulation. Mon code est ci-dessous:
targethist = np.histogram(targetlist, bins=ilist)
print targethist
np.savetxt('ChrI_dens.txt',targethist,delimiter='\t')
targetlist et ilist sont de longues listes d'entiers. J'obtiens le résultat suivant:
(tableau([0, 0, 0, ..., 0, 0, 0]), array([ 1, 10000, 20000,
..., 15060000, 15070000, 15072422])) Traceback (most recent call
last): File "target_dens_np.py", la ligne 62, dans
np.savetxt('ChrI_dens.txt',targethist,delimiter='\t') File "/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/site-packages/numpy/lib/npyio.py",
ligne 979, dans savetxt
fh.écrire(asbytes(format % n-uplet(ligne) + newline)) TypeError: float argument requis, pas de numpy.ndarray
Il semble que l'histogramme tableau a été créé, mais j'ai fait quelque chose de mal dans la np.savetxt() de la ligne. J'ai lu la documentation, mais ne comprends pas pourquoi aucun des arguments de cette fonction serait attend à un flotteur. Où ai-je mal tourné?
Vous devez vous connecter pour publier un commentaire.
Je pense que le problème est que le deuxième argument de
savetxt
doit être "semblable au tableau". Votre entrée n'est pas "semblable au tableau". par exemple,Avis les longueurs ne sont pas les mêmes? Si les longueurs étaient les mêmes, numpy pourrait le convertir en un seul tableau 2d et tout irait bien, mais il ne peut pas faire la conversion de sorte qu'il échoue.
Cela fonctionne
Mais j'ai tronqué vos données ;). Vous aurez besoin de décider ce que vous voulez faire pour travailler autour de celui-ci.
Je dois l'avouer, le message d'erreur ici est assez cryptique.