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

如何为返回含pd.NA的字典的Pandas函数添加类型提示

Pandas函数返回含pd.NA的字典的类型提示解决方案

你遇到的错误是因为pd.NA是pd.NAType的实例,而类型提示要求填入的是类型对象,直接写pd.NA不符合类型检查器的规则。不需要导入numpy,用以下方法就能解决:

方法1:直接使用pd.NAType标注

这是最规范的方式,直接引用pd.NA对应的类型:

import pandas as pd

def _the_function(x: str) -> dict[str, str | pd.NAType]:
    # 示例实现
    if not x.strip():
        return {"result": pd.NA}
    return {"result": x.upper()}

方法2:兼容旧Python版本的写法

如果项目仍在使用Python 3.9及以下,不支持|联合类型语法,可以改用Union:

from typing import Union
import pandas as pd

def _the_function(x: str) -> dict[str, Union[str, pd.NAType]]:
    # 示例实现
    if not x.strip():
        return {"result": pd.NA}
    return {"result": x.upper()}

注意:如果你的类型检查器(如mypy)版本较旧,可能需要安装types-pandas包来确保pandas的类型注解能被正确识别。

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

相关产品推荐
方舟 Agent Plan

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

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