我有一個numpy直方圖,我想輸出爲製表符分隔的文本文件。我的代碼如下:numpy初學者:使用numpy.savetxt寫入數組
targethist = np.histogram(targetlist, bins=ilist)
print targethist
np.savetxt('ChrI_dens.txt',targethist,delimiter='\t')
targetlist和ilist是長整型列表。我得到以下輸出:
(array([0, 0, 0, ..., 0, 0, 0]), array([ 1, 10000, 20000, ..., 15060000, 15070000, 15072422])) Traceback (most recent call last): File "target_dens_np.py", line 62, in 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", line 979, in savetxt fh.write(asbytes(format % tuple(row) + newline)) TypeError: float argument required, not numpy.ndarray
看來,直方圖陣列已經創建,但我做錯了事的np.savetxt()線。我已經閱讀了文檔,但不明白爲什麼這個函數中的任何參數都期待浮動。我哪裏錯了?
現貨!無論如何,在我遇到神祕的錯誤之前,這應該發生在我身上。事實證明,我想截斷較長數組中的第一個整數,所以這是完美的。謝謝! – pandaSeq
@pandaSeq我不得不承認 - 基於這個追溯,我在這個問題上撓了撓頭幾分鐘。通常,當python-numpy的問題在沒有任何答案的情況下坐在這裏超過10分鐘時,你就會知道一些有趣的事情正在發生;)。 – mgilson