【问题标题】:Mypy/typeshed stubs for PandasPandas 的 Mypy/typeshed 存根
【发布时间】:2017-04-27 14:41:25
【问题描述】:

只是检查是否有人已经为 `pandas` 生成了一组可工作的 mypy/typeshed 存根。我天真地在本地 pandas 安装上运行了 stubgen,它产生了一些错误。我可以从我必须开始的事情开始,但希望其他人把球推得更远。 (GitHub 上没有什么明显的发现,尽管存根有一张旧票。)

【问题讨论】:

    标签: python pandas numpy type-hinting python-typing


    【解决方案1】:

    到现在(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 主存储库中进行。我们欢迎您的贡献!

    【讨论】:

    • 误导性答案,因为 pandas-stubs 不是由 pandas 开发的
    • @remeus 感谢您的更正。你对新版本满意吗?顺便提一句。如果您希望人们注意到/纠正他们的错误,@ 提及他们以便他们得到通知会很有帮助。
    【解决方案2】:

    截至 2020 年 6 月,pandas 还没有存根,但在那个方向上有 is some progress。现在,您可以使用 data-science-types 包 (on GitHub),它为 pandasnumpymatplotlib 提供存根文件,尽管它还在进行中。

    【讨论】:

      【解决方案3】:

      我还没有找到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 对象的显示相同,因此不是很准确。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-09-28
        • 1970-01-01
        • 2021-07-16
        • 1970-01-01
        • 2022-10-19
        • 2021-03-04
        相关资源
        最近更新 更多