You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助解码numpy数组的未知编码格式

解码序列化的numpy.ndarray对象

要还原这个序列化的numpy数组,可按以下步骤操作:

  • 该对象的values字段是base64编码的zlib压缩字节流,需要先解码再解压,最后转换为numpy数组。

直接运行以下Python代码即可完成解码:

import base64
import zlib
import numpy as np

# 你的序列化数据
serialized_obj = {'py/object': 'numpy.ndarray', 'values': 'eJxjYGBgkGnVczQGAl07DcezZ86cmeCo7Dhr5syZJ6fLgelSHwnHNCBY5isMlpdYxQdWfz2aA6I+mhmsTvDAPwcQ/TDvh4PHwyqRS6mfHQptua5PvvIOTCc3vwDTwVWPHeRbXwdqPLsHpn9MueEAVL7uefdlh8NfNWL8Oc87AJUt3rDgBJgWWH/YAehMhgX++8G0wo4dEP70zWD6gMJ6hy9/r1S8PLrCwbzTMUF1/2IwP/PBPIesPSWTJZbNAKtrODbZQd2QY42MUT+Yz/C8wyF1VUJI0LxmB1YTQTObGfUO4dEb97+5X+EQaqC1UnhHscM/519vX/fkO2wV/X363eUMB8UNRRkTTyc7HDy10HVbcrzDWWu/ixNlIh2a2/5x6h0IdjgnGXhLeo2/g07ti6Zf7zwcfqyayrn/jjNU3B4qbgEVN4aK6ztsUDgbYXJWw2HDv/OJ++4oO1z7b3lm+nF5h33fzkxicJV0qDoa3G/CIeLgfPLJlXMT+B0cr764yuDK6fD9mbmPCQeLw/l5p6+o/Phvn3WXbev9qJ/2bmw7uw1cv9hDxN/bAwBaO9+O', 'shape': [61], 'dtype': 'float64', 'byteorder': '<'}

# 1. 解码base64字符串
base64_decoded = base64.b64decode(serialized_obj['values'])
# 2. 解压zlib压缩数据
uncompressed = zlib.decompress(base64_decoded)
# 3. 转换为numpy数组并调整形状
result_array = np.frombuffer(uncompressed, dtype=f"{serialized_obj['byteorder']}{serialized_obj['dtype']}").reshape(serialized_obj['shape'])

# 输出结果
print(result_array)

代码说明:

  1. 先用base64.b64decode解析values字段的编码字符串,得到压缩后的字节数据;
  2. 再用zlib.decompress解压字节数据,还原为原始的数组字节;
  3. 最后通过np.frombuffer将字节转换为指定类型的数组,并按给定的shape调整维度。

内容的提问来源于stack exchange,提问作者caspermenjamin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 20:40:29