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

如何用np.load()加载.npy字典并提取嵌套的字典对象

问题:恢复保存为.npy文件的字典格式

我有一个字典,格式如下:

{image_name.jpg:[list_of_features], image_name2.jpg:[list of it's features]}

通过np.save('encoded_img_dic.npy', encoded_img_dic)将其保存为.npy文件,再用dic = np.load('/content/encoded_img_dic.npy', allow_pickle = True)加载后,得到的是一个嵌套字典的numpy数组:

array({'1000092795.jpg': array([ 0.18229158, -0.17214337, -0.07549195, ..., -0.01746007,
       -0.10297356,  0.35006437], dtype=float32), '10002456.jpg': array([-0.10733618, -0.08182468, -0.1734893 , ..., -0.13148569,
       -0.12901662, -0.09519334], dtype=float32), '99804383.jpg': array([-0.10597093, -0.1605651 , -0.08017335, ...,  0.03384358,
        0.58321196, -0.06605151], dtype=float32), '998845445.jpg': array([-0.13575825,  0.55340654, -0.01252322, ...,  0.37376422,
        0.02249258,  0.09976979], dtype=float32)}, dtype=object)

需要提取内部字典,并将每个值从numpy数组转为普通列表,恢复成目标格式:

{'1000092795.jpg': [ 0.18229158, -0.17214337, -0.07549195, ..., -0.01746007,
           -0.10297356,  0.35006437], '10002456.jpg': [-0.10733618, -0.08182468, -0.1734893 , ..., -0.13148569,
           -0.12901662, -0.09519334], '99804383.jpg': [-0.10597093, -0.1605651 , -0.08017335, ...,  0.03384358,
            0.58321196, -0.06605151], '998845445.jpg':[-0.13575825,  0.55340654, -0.01252322, ...,  0.37376422,
            0.02249258,  0.09976979]}

解决步骤

1. 提取numpy数组中的字典

加载后的数组仅包含单个字典元素,直接通过索引提取内部字典:

# 方法1:使用[()]提取(推荐,适配任意维度的单元素数组)
original_dict = dic[()]
# 方法2:使用[0]提取(当确认数组是一维单元素时)
original_dict = dic[0]

2. 将字典值转为列表

遍历字典的键值对,利用numpy数组的tolist()方法将其转为普通Python列表:

restored_dict = {key: value.tolist() for key, value in original_dict.items()}

完整代码示例

import numpy as np

# 加载保存的.npy文件
loaded_array = np.load('/content/encoded_img_dic.npy', allow_pickle=True)
# 提取内部字典
extracted_dict = loaded_array[()]
# 转换所有值为列表
final_dict = {k: v.tolist() for k, v in extracted_dict.items()}

# 验证结果
print(final_dict)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 01:35:19