首页 > 解决方案 > 如何在python numpy数组中添加字典值

问题描述

我正在尝试创建 numpy 数组和数据键是positions, metadata。它的输出应该如下所示

#sample output
['positions', metadata] #data keys when I print file_name.keys()
{'num_pos': 10, 'keypoints': [[4, 5, 6, 10, 11, 12], [1, 2, 3, 13, 14, 15]]} #values of metadata in dictionary when I print file_name['metadata']

我想要与上面相同的输出。下面是我获取所需 npz 文件的 python 代码。

#code sample
positions = [] #this step is working and values are saved in npz file, so I'm just skipping this step, my problem is in metadata key which is given below
metadata = {
'num_pos': 10,
'keypoints': [[4, 5, 6, 10, 11, 12], [1, 2, 3, 13, 14, 15]]
}

positions = np.array(positions).astype(np.float32)
np.savez_compressed('file_name.npz', position=positions, metadata=metadata)

使用上面的代码,我可以获得具有positions但不是metadata. 当我打印时file_name.keys(),输出没['positions', 'metadata']问题,但是当我打印时file_name['metadata']出现以下错误。

ValueError: unsupported pickle protocol: 3

寻找有价值的建议

标签: pythonpython-2.7numpy

解决方案


推荐阅读