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

我如何反序列化强制转换为字节串的numpy数组?

赏夕
2023-03-14
问题内容

我需要将一个numpy数组序列化为某些JSON兼容形式。由于我使用的框架无法让我访问JSON编码器/解码器对象,因此我一直坚持将numpy数组序列化为可以将其编组为JSON的对象。我选择了array.tobytes或array.tostring(两者似乎基本上是同一件事)。

以下是说明我的问题的示例:

import numpy as np

a = np.random.rand(1024, 1024)  # create array of random values
b = array.tobytes()  # serialize array
a2 = np.fromstring(b)

在检查的值时a2,我发现它仅包含原始内容的第一行a。换句话说,a2 == a[0, :]。

如何解码整个数组?


问题答案:

实际上,numpy.fromstring()返回一个二维数组的一个1024X1024 intead数组,您需要做的就是将其重塑为1024X1024,

尝试这个 :

import numpy as np
a = np.random.rand(1024, 1024)  # create array of random values
b = array.tobytes()
np.fromstring(b).reshape(1024,1024)


 类似资料:
  • 我需要以十六进制表示形式将字符串转换为字节数组。例如: 值:06000002我需要的是: 如何做到这一点?

  • 我是Java/AWS等的新手,而AWS lambda我们不去序列化我认为是一个微不足道的例子。 API网关日志,它将JSON发送到lambda: 我正在使用这个JSON来提供要反序列化到以下POJO的数据

  • 问题内容: 考虑数组 绑定转换为float数组会引发异常 numpy是否提供任何有效的方法将其强制转换为数字数组,并用NAN等替代非数字值? 或者,是否有一个等效于的有效numpy函数,但是该函数还可以测试字母之类的非数字元素? 问题答案: 您可以使用以下方式将字符串数组转换为浮点数组(带有NaN): 这是一种识别“数字”字符串的方法: 请注意,“数字”是指仅包含数字字符的Unicode,即具有U

  • 我遇到了将字节字符串转换为字节数组的强制转换问题。 我有一个字符串[B@1a758cb。也就是Base64加密的String的主String"Gunjan"。这里的解密我想把加密的字节串转换成字节[]。 但是String.get字节[]不适合我。String.getBytes[]给出字节String的字节数。 我该怎么做??我是否必须迭代字节字符串中的每个字符并将其转换为字节[]?? 编辑 我使用

  • 问题内容: 假设我有字符串: 我得到的位置无关紧要,但是为了具体起见,假设我从二进制文件中读取了它。 我知道我的字符串是4(4字节)浮点数的二进制表示形式。我想将那些浮点数作为一个numpy数组。我 可以 做: 但是创建中间元组似乎很愚蠢。有没有一种方法可以在不创建中间元组的情况下执行此操作? 编辑 我还希望能够以可以指定字符串的字节序的方式构造数组。 问题答案: 或者,如果您想要大端字节序: 的

  • 我得到一个错误读数: