如何将浮点数组更改为字符串数组,然后保存为txt

时间:2015-07-22 06:33:40

标签: python arrays python-3.x numpy

我知道这个问题在这里得到解决:Numpy converting array from float to strings,但我在执行方面遇到了麻烦。

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?,但没有解释如何摆脱它们。有什么帮助吗?

另外,打印时有没有办法摆脱每个字符串周围的'?

1 个答案:

答案 0 :(得分:3)

来自documentation -

  

''' a' - (byte-)字符串

     

' U' - Unicode

S用于Byte-String,因此是b infront。

您应该使用U代替unicode字符串,然后将其保存为文本。

示例 -

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

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