Я не понимаю, как правильно типизировать свои функции.< /p>
В качестве примера:
Код: Выделить всё
import polars as pl
import pandera.polars as pa
from pandera.typing.polars import LazyFrame as PALazyFrame
class MyModel(pa.DataFrameModel):
a: int
class Config:
strict = True
def foo(
f: pl.LazyFrame
) -> PALazyFrame[MyModel]:
# Our input is unclean, probably coming from pl.scan_parquet on some files
# The validation is dummy here
return MyModel.validate(f.select('a'))
Код: Выделить всё
error: Incompatible return value type (got "DataFrameBase[MyModel]", expected "LazyFrame[MyModel]")
Более того, LazyFrame определяется как реализация DataFrameBase в коде pandera.
Как я могу исправить свой код, чтобы возвращаемый тип LazyFrame[MyModel] работает?
Подробнее здесь: https://stackoverflow.com/questions/790 ... validation
Мобильная версия