gpt4 book ai didi

python - 将带有 Numpy Nd-Array 值的 python 字典写入 Json 文件的有效方法

转载 作者:太空宇宙 更新时间:2023-11-04 02:49:28 24 4
gpt4 key购买 nike

我如何有效地编写 Python 字典,其中的值是 Numpy Nd 数组到 Json 文件?我收到一条错误消息,指出 Numpy Nd-Array 不是 Json-Serializable。有什么办法可以克服这个问题吗?

最佳答案

JSON 仅支持有限数量的数据类型。如果您想将其他类型的数据存储为 JSON,则需要将其转换为 JSON 接受的内容。 Numpy 数组的明显选择是将它们存储为(可能嵌套的)列表。幸运的是,Numpy 数组有一个 .tolist 方法可以高效地执行转换。

import numpy as np
import json

a = np.array(range(25), dtype=np.uint8).reshape(5, 5)
print(a)
print(json.dumps(a.tolist()))

输出

[[ 0  1  2  3  4]
[ 5 6 7 8 9]
[10 11 12 13 14]
[15 16 17 18 19]
[20 21 22 23 24]]
[[0, 1, 2, 3, 4], [5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19], [20, 21, 22, 23, 24]]

.tolist 会将数组元素转换为 native Python 类型(int 或 float),如果它可以无损地这样做的话。如果您使用其他数据类型,我建议您在调用 .tolist 之前将它们转换为可移植的类型。

关于python - 将带有 Numpy Nd-Array 值的 python 字典写入 Json 文件的有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44302423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com