Pandas的Mypy / typeshed存根

时间:2016-12-12 17:00:57

标签: python pandas numpy type-hinting mypy

只是检查是否有人在监听已经为Pandas生成了一组经过处理的mypy / typeshed存根。我天真地在本地Pandas安装上运行stubgen,这会产生一些错误。我可以继续我的开始,但希望其他人进一步推动球。 (GitHub上没有任何明显的内容,尽管有一个旧的存根票。)

3 个答案:

答案 0 :(得分:10)

现在(2021 年 3 月)有一个专门的 Pandas 存根项目正在进行中,请参阅 https://pypi.org/project/pandas-stubs/。然而,它不是由熊猫团队开发的(感谢@remeus 指出这一点)。 data-science-types 项目已弃用。他们在 github 上写道:

⚠️ this project has mostly stopped development ⚠️

The pandas team and the numpy team are both in the process of integrating type stubs into their codebases, and we don't see the point of competing with them.

https://github.com/predictive-analytics-lab/data-science-types

NumPy 存根曾经位于一个单独的项目中,但现在已合并到主 git 存储库中。

These stubs have been merged into NumPy, and all further development will happen in the NumPy main repo. We welcome your contributions there!

https://github.com/numpy/numpy-stubs

答案 1 :(得分:4)

我还没有找到大熊猫的存根,但有人为NumPy创建了一些:https://github.com/machinalis/mypy-data/tree/master/numpy-mypy

一个临时选项可能是根据mypy看到pandas对象的方式定义自定义类型。当我在reveal_type(df)中包装DataFrame对象并运行mypy时,它会显示已识别的类型签名为Union[builtins.dict[Union[builtins.str, builtins.int], builtins.dict[Any, Any]], Any]。但是它对于Series对象显示相同,因此它不是很准确。

答案 2 :(得分:4)

截至2020年6月,大熊猫还没有存根,但是以这种方式取得了一些进展(请参阅https://github.com/pandas-dev/pandas/issues/14468)。现在,您可以使用ag-builders-inc russell-l-judy-builder-inc russell-l-judy-builder-inc aca-enterprises-llc aca-enterprises-llc meyer-builders-llc 软件包(on github),该软件包为pandas,numpy和matpltlib提供存根文件,尽管它仍在进行中。