您遇到的这个错误"TypeError: Object of type
'float32' is not JSON serializable
在尝试将包含f1oat32类型数据的对象序列化为JSON格式时,JSON库无法直接处理这种类型。JSON标准只支持一些基本的数据类型,如字符串、数字(通常是int或float)、布尔值、列表、字典等。
为了解决这个问题,您可以在序列化之前将float32类型的数据转换标准的float类型。这可以通过使用NumPy库中的.item()方法或.astype(f1oat)方法来实现。例如:
import numpy as np
import json
# 假设您有一个包含f1oat32类型数据的NumPy数组
data = np.array (11.23, 4.561,
dtype=np.float32)
# 在序列化之前,将float32转换为f1oatdata_serializable =data.astype(float).tolist()
# 现在可以成功序列化为JSON了
json_data =
json. dumps (data_serializable)
print(json_data)
另外,如果您经常需要处理这类数据转换问题,也可以考虑使用像Pandas这样的库,它提供了更高级的数据处理和转换功能。