Python numpy初学者:使用numpy.savetxt编写数组

Python numpy初学者:使用numpy.savetxt编写数组,python,numpy,histogram,tsv,Python,Numpy,Histogram,Tsv,我有一个numpy柱状图,我想作为制表符分隔的文本文件输出。我的代码如下: targethist = np.histogram(targetlist, bins=ilist) print targethist np.savetxt('ChrI_dens.txt',targethist,delimiter='\t') targetlist和ilist是一长串整数。我得到以下输出: (数组([0,0,0,…,0,0,0]),数组([1,10000,20000, …,15060000,1507000

我有一个numpy柱状图,我想作为制表符分隔的文本文件输出。我的代码如下:

targethist = np.histogram(targetlist, bins=ilist)
print targethist
np.savetxt('ChrI_dens.txt',targethist,delimiter='\t')
targetlist和ilist是一长串整数。我得到以下输出:

(数组([0,0,0,…,0,0,0]),数组([1,10000,20000, …,15060000,15070000,15072422]))回溯(最近的电话 最后):文件“target_dens_np.py”,第62行,在 np.savetxt('ChrI_dens.txt',targetlist,delimiter='\t')文件“/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/site packages/numpy/lib/npyio.py”, 第979行,在savetxt中 fh.write(asbytes(格式%tuple(row)+newline))类型错误:需要浮点参数,而不是numpy.ndarray


似乎已经创建了直方图数组,但是我在np.savetxt()行中做了一些错误的事情。我已经阅读了文档,但不明白为什么这个函数中的任何参数都会期望浮点。我哪里出错了?

我认为问题在于
savetxt
的第二个参数必须是“类似数组的”。您的输入不是“类似数组”。e、 g

注意到长度不一样了吗?如果长度相同,numpy可以将其转换为单个二维阵列,一切都会很好,但它无法进行转换,因此失败

这很有效

np.savetxt('stuff.dat',(targethist[0],targethist[1][1:]),delimiter='\t')
但我已截断了您的数据;)。你需要决定你想做什么来解决这个问题


我必须承认,这里的错误信息相当隐晦。

当场!无论如何,在我遇到这个神秘的错误之前,我就应该想到这一点。事实证明,我想截断较长数组中的第一个整数,所以这是完美的。谢谢@潘达塞克我必须承认——基于那个回溯,我在这件事上搔了几分钟的头。通常,当python numpy问题持续10分钟以上而没有任何答案时,您就知道发生了一些有趣的事情;)。
np.savetxt('stuff.dat',(targethist[0],targethist[1][1:]),delimiter='\t')