在 Python 类型提示 (PyCharm) 中区分 PySpark 和 Pandas DataFrames

Rob*_*uil 5 python type-hinting pycharm pandas

在 PyCharm 中,如果使用 apyspark.sql.DataFrame代替 a ,则类型提示似乎不会触发警告,pandas.DataFrame反之亦然。

例如,以下代码根本不会产生任何警告:

from pyspark.sql import DataFrame as SparkDataFrame
from pandas import DataFrame as PandasDataFrame

def test_pandas_to_spark(a: PandasDataFrame) -> SparkDataFrame:
    return a

def test_spark_to_pandas(b: SparkDataFrame) -> PandasDataFrame:
    return b.toPandas()

test_spark_to_pandas(PandasDataFrame({'a': [1, 2, 3]}))
Run Code Online (Sandbox Code Playgroud)

这是已知的/可以解决的吗?

顺便说一句:我确实安装了 pyspark 存根: pyspark-stubs==2.4.0.post2

ami*_*jad 1

现在有一个名为的库pandas-stubs,它为静态类型检查工具提供了 pandas 类型提示。