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

含NaN字段的Pandas DataFrame序列化返回响应报错求助

解决DataFrame含NaN字段的接口响应序列化问题

问题核心是JSON规范不支持NaN值,导致序列化报错。以下两种方法可在保留原字段结构的前提下,将NaN转为JSON兼容的null:

方案一:替换NaN为None后转字典列表

直接修改context的生成逻辑,用pandas替换NaN为Python的None(JSON序列化时会转为null):

import pandas as pd

# ... 你的原有代码(DataFrame处理部分) ...

# 替换NaN为None,转为字典列表格式
forecast_data = forecast.replace({pd.np.nan: None}).to_dict('records')

context = {
    'detail': forecast_data
}

return Response(context)

方案二:生成合法JSON后解析为Python对象

利用pandas的to_json方法直接生成符合JSON规范的字符串,再解析为Python结构:

import json
import pandas as pd

# ... 你的原有代码(DataFrame处理部分) ...

# 生成兼容JSON的字符串,指定NaN转为null,日期用ISO格式
forecast_json = forecast.to_json(orient='records', na='null', date_format='iso')
# 解析为Python列表字典
forecast_data = json.loads(forecast_json)

context = {
    'detail': forecast_data
}

return Response(context)

两种方法都无需删除字段或填充非空值,完美保留你需要的响应结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 05:15:44