在Python类型提示(PyCharm)中区分PySpark和Pandas数据帧
在PyCharm中,如果使用在Python类型提示(PyCharm)中区分PySpark和Pandas数据帧,python,pandas,pycharm,type-hinting,Python,Pandas,Pycharm,Type Hinting,在PyCharm中,如果使用pyspark.sql.DataFrame代替pandas.DataFrame,类型提示似乎不会触发警告,反之亦然 e、 g.以下代码根本不会生成任何警告: from pyspark.sql import DataFrame as SparkDataFrame from pandas import DataFrame as PandasDataFrame def test_pandas_to_spark(a: PandasDataFrame) -> Spark
pyspark.sql.DataFrame
代替pandas.DataFrame,类型提示似乎不会触发警告,反之亦然
e、 g.以下代码根本不会生成任何警告:
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]}))
这是已知的/可以修复的吗
顺便说一句:我确实安装了pyspark存根:pyspark存根==2.4.0.post2
,这似乎是意料之中的。Pandas本身和Typeshed都没有为Pandas.core.frame.DataFrame
提供类型提示,因此类型检查器将无法确定PandasDataFrame({'a':[1,2,3]})
.Hmm的类型,这太可惜了。有没有办法在导入时手动添加它们?熊猫很难注释。有一些正在进行的工作,但这是公平的完成。您可以尝试创建一个虚拟的partial
包,它只覆盖DataFrame
模块。