2015-07-22 30 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

相关问题