当前位置: 首页 > 面试题库 >

将numpy.ndarray转换为字符串(或字节),然后将其转换回numpy.ndarray

岳刚洁
2023-03-14
问题内容

我在这里有点麻烦

我正在尝试将numpy.ndarray转换为字符串,我已经这样做了:

randomArray.tostring()

它有效,但是我想知道是否可以将其转换回numpy.ndarray。

最好的方法是什么?

我正在使用numpy 1.8.1

上下文:目标是将numpy.ndarray作为消息发送到Rabbitmq(pika库)


问题答案:

您可以使用此fromstring()方法:

arr = np.array([1, 2, 3, 4, 5, 6])
ts = arr.tostring()
print(np.fromstring(ts, dtype=int))

>>> [1 2 3 4 5 6]

对不起,我的回答很简短,评论不够。请记住声明数据类型,否则您将陷入痛苦的境地。

fromstring 从numpy 1.14开始注意

sep:str,可选

字符串,分隔数据中的数字;元素之间的多余空格也将被忽略。

自版本1.14起不推荐使用:默认情况下,不建议传递sep
=’‘,因为它将触发该功能的不推荐二进制模式。此模式将字符串解释为二进制字节,而不是使用带十进制数字的ASCII文本,此操作最好由buffer(string,dtype,count)拼写。如果string包含unicode文本,则fromstring的二进制模式将首先使用utf-8(python
3)或默认编码(python 2)将其编码为字节,这两种方法均不会产生合理的结果。



 类似资料:
  • 我正在使用Schembuf在带有套接字的计算机之间更改数据。要传输数据,我使用以下内容: 然而,我注意到Protobuf无法读取任何非int类型的接收数据(它将其分配给0)。果不其然,如果我不使用套接字,但试图用相同的代码片段返回消息,则会发生相同的情况: 我还指出: 那么,为什么我不能正确地将数据转换回字符串呢?如果这是一个参考问题,为什么protobuf不能读取字符数组数据或从字符数组转换的字

  • 问题内容: 我想在GO中将字符串数组转换为字节数组,以便可以将其写到磁盘上。将字符串数组()解码为字节数组()的最佳解决方案是什么? 我正在考虑对字符串数组进行两次迭代,第一个迭代以获得字节数组所需的实际大小,然后第二个迭代写入每个元素的长度和实际字符串()。 解决方案必须能够以其他方式进行转换;从一个到一个。 问题答案: 让我们忽略一个事实,那就是走一秒钟。您需要做的第一件事是将序列化格式编组为

  • 问题内容: 是否可以将字符串转换为字节数组,然后在Java或Android中将其转换回原始字符串? 我的目标是将一些字符串发送到微控制器(Arduino)并将其存储到EEPROM(仅1 KB)中。我尝试使用MD5哈希,但它似乎只是一种单向加密。我该怎么办? 问题答案: 我建议使用字符串的成员,但 使用显式编码 : 通过使用一种显式编码(以及一种支持所有Unicode的编码),您可以避免仅调用等问题

  • 试图对这个问题中的各个数字求和。然而,当涉及负数时,函数就会分崩离析。这是因为当您使用toString()时,会将负号转换为NewStr中的值。例如,在本例中,newstr[0]==='-'。不管怎么说都是为了解决这个问题?最好使用Number()函数

  • 问题内容: 我正在使用以下代码从外部程序获取标准输出: 方法返回一个字节数组: 但是,我想将输出作为普通的字符串使用。这样我就可以像这样打印它: 我认为这就是方法的用途,但是当我尝试使用它时,我又得到了相同的字节数组: 如何将字节值转换回字符串?我的意思是,使用”batteries”而不是手动进行操作。我希望它与Python 3兼容。 问题答案: 你需要解码bytes对象以产生一个字符串:

  • 问题内容: 我使用以下代码将密钥转换为字节 现在如何从中获取密钥?我试过了: 我收到以下错误: 问题答案: 这应该工作