2016-06-08 154 views
1

我想提出一個字符串數組的位置,但我得到一個錯誤:我怎樣才能把一個字符串數組

ValueError: could not convert string to float

我的代碼如下:

k = np.ceil(99/8) 

rs = np.zeros((int(k), 10)) 

for i in range(0, int(k)): 
    rs[i, 0] = "FREQ" 
    for j in range(1,9): 
     rs[i, j] = rs_imp[8*k+j, 0] 
+0

也許[這篇文章](http://stackoverflow.com/questions/6999617/how-to-assign-a-string-value-to-an-array-in-numpy)是你實際上正在尋找執行。 –

回答

2

你的陣列是隱含一個float數組,但你可以改變數據類型爲object能夠包括花車和字符串:

rs = np.zeros((int(k), 10), dtype='object') 

,這是要搶的是你潛在的優化並可能在以後引起意想不到的問題。

聽起來像一個XY問題。爲什麼你認爲你需要在這個數組中添加字符串「FREQ」?你真的想做什麼?

+0

這是一個XY問題,我想分離並創建具有特定格式的文件,以便我可以使用XY作爲輸入。 非常感謝。它以這種方式工作。 –

+0

儘管如何將該數組寫入.txt文件?當我試圖做 np.savetxt( '的test.txt',RSF,分隔符=」, ') 我 陣列D型細胞(' 對象 ')和格式說明(' %.18e,%之間不匹配.18e,%。18e,%。18e,%。18e,%。18e,%。18e,%。18e,%。18e') –

+0

由於陣列不再是'float'類型,所以默認格式代碼如'%e')無效。你可以這樣做:'np.savetxt('test.txt',rsf,delimiter =',',fmt ='%s')'它應該做你需要的,但如果問題的關鍵是要添加「FREQ」作爲包含數字的文件的每一行的前綴,實現這一點的方法比創建混合類型的數組要清晰。順便說一句,一個XY問題被定義[這裏](http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem)。 – Riaz

2

你有一組浮標。你想把一個字符串值放到該數組的一個元素上。這不可能。

相關問題