mypy:错误:使用 axis="rows" 时,没有“...”的重载变体与参数类型“list[DataFrame]”、“str”匹配

问题描述 投票:0回答:1

我正在跑步

pd.concat(dfs, axis="rows")
pd.median(dfs, axis="rows")

基本上 pandas 中任何可以接受 axis 和 mypy 的函数都会引发:

error: No overload variant of "concat" matches argument types "list[DataFrame]", "str"  [call-overload]
note: Possible overload variants:

... # Long list of possibilies

如何删除此有效代码上的 mypy 错误?

python pandas mypy
1个回答
0
投票

Pandas 没有定义关键字“rows”的类型重载: 例如,对于 concat 方法,仅允许以下内容。

axis: Literal[0, "index"] = ...,
axis: Literal[1, "columns"],


使用“索引”而不是“行”可以解决问题。

请注意:

pandas 定义了一个 Axis 类型,其中“行”是一个有效的选项,所以这很可能是他们这边的一个错误:

Axis = Union[AxisInt, Literal["index", "columns", "rows"]]
© www.soinside.com 2019 - 2024. All rights reserved.