【发布时间】:2017-04-27 14:41:25
【问题描述】:
只是检查是否有人已经为 `pandas` 生成了一组可工作的 mypy/typeshed 存根。我天真地在本地 pandas 安装上运行了 stubgen,它产生了一些错误。我可以从我必须开始的事情开始,但希望其他人把球推得更远。 (GitHub 上没有什么明显的发现,尽管存根有一张旧票。)
【问题讨论】:
标签: python pandas numpy type-hinting python-typing
只是检查是否有人已经为 `pandas` 生成了一组可工作的 mypy/typeshed 存根。我天真地在本地 pandas 安装上运行了 stubgen,它产生了一些错误。我可以从我必须开始的事情开始,但希望其他人把球推得更远。 (GitHub 上没有什么明显的发现,尽管存根有一张旧票。)
【问题讨论】:
标签: python pandas numpy type-hinting python-typing
到现在(2021 年 3 月),a dedicated pandas stub project 正在进行中。然而,它不是由 pandas 团队开发的(感谢@remeus 指出这一点)。 data-science-types 项目已弃用。 GitHub上they write:
⚠️这个项目大部分已经停止开发⚠️
pandas 团队和 numpy 团队都在将类型存根集成到他们的代码库中,我们看不出与他们竞争的意义。
NumPy 存根曾经在一个单独的项目中,但现在 have been merged 进入主 git repo:
这些存根已合并到 NumPy 中,所有进一步的开发都将在 NumPy 主存储库中进行。我们欢迎您的贡献!
【讨论】:
截至 2020 年 6 月,pandas 还没有存根,但在那个方向上有 is some progress。现在,您可以使用 data-science-types 包 (on GitHub),它为 pandas、numpy 和 matplotlib 提供存根文件,尽管它还在进行中。
【讨论】:
我还没有找到pandas 的存根。但是,有人 has created 一些 NumPy。
一个临时选项可能是根据 mypy 看到 pandas 对象的方式定义自定义类型。当我在reveal_type(df) 中包装一个DataFrame 对象并运行mypy 时,它显示识别的类型签名是
Union[builtins.dict[Union[builtins.str, builtins.int], builtins.dict[Any, Any]], Any]
但是,Series 对象的显示相同,因此不是很准确。
【讨论】: