我知道这个问题在这里得到解决: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?,但没有解释如何摆脱它们。有什么帮助吗?
另外,打印时有没有办法摆脱每个字符串周围的'?
答案 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")