2015-07-22 31 views
1

我知道這個問題在這裏解決:Numpy converting array from float to strings,但我有實施的麻煩。如何改變浮到字符串數組的數組,然後保存爲txt

A=np.array([57/13, 7/5, 6/8]) 
B=A.astype('|S4') 

產生陣列([b'4.38',b'1.4',b'0.75])。當我保存到txt時,b仍然存在。

np.savetxt('my_file.txt', B, fmt="%s") 

爲何B的有沒有在這裏討論的問題:What does the 'b' character do in front of a string literal?,但沒有解釋如何擺脫他們。任何幫助?

此外,有沒有什麼辦法可以擺脫'打印時,周圍的每個字符串的?

+0

''savetxt' fmt'爲您提供更多格式的控制不是'astype'。試試'np.savetxt('myfile.txt',A,fmt ='%。2f')' – hpaulj

回答

3

documentation -

'S', 'A' - (針對字節)串

'U' - 的Unicode

S爲針對字節字符串,因此面前b

您應該使用U而不是爲Unicode字符串,然後將其保存爲文本。

示例 -

A=np.array([57/13, 7/5, 6/8]) 
B=A.astype('U4') 

np.savetxt('my_file.txt', B, fmt="%s") 
+0

謝謝!你是最棒的。 – Mark

相關問題