我有字符串
my_string = "My name is Aman Raparia"
我使用语句
转换为numpy数组的序数值my_string_numpy_array = np.fromstring(my_string, dtype=np.uint8)
有没有办法从my_string_numpy_array中取回原始字符串?
答案 0 :(得分:4)
使用ndarray.tostring
-
my_string_numpy_array.tostring()
示例输出 -
In [176]: my_string_numpy_array.tostring()
Out[176]: 'My name is Aman Raparia'
答案 1 :(得分:1)
file a bug的正确答案是numpy <color name="search_bar_hint_text_color">#ffb0b0b0</color>
<color name="transparent">#00000000</color>
。
替代是在每个数组元素上使用ndarray.tostring
并连接在一起(例如,对于非numpy数组):
chr
答案 2 :(得分:0)
现在几年后,np.fromstring()
被弃用:
my_string_numpy_array = np.fromstring(my_string,dtype = np.uint8) :1:DeprecationWarning:二进制文件 不推荐使用fromstring模式,因为它在 unicode输入。改用frombuffer
改为使用np.frombuffer()
。并使用np.array2string()
切换回输入。
import numpy as np
my_string = b"My name is Aman Raparia"
my_string_numpy_array = np.frombuffer(my_string, dtype=np.uint8)
np.array2string(my_string_numpy_array, formatter={'int':lambda x: chr(x).encode()}, separator='').strip('[]').encode()
Out: b'My name is Aman Raparia'
您可以放下.encode()
以直接获取字符串。只需添加它即可再次到达原始输入,np.frombuffer()
需要字节格式化的缓冲区。
如果要输出的项不只一项,然后需要除去[]括号,请参阅np.array2string not removing brackets around an array。