Eu uso polars
dataframes (novo neste módulo) e estou usando alguma tipagem estática, para manter meu código arrumado e limpo para fins de depuração, e para permitir a conclusão automática de métodos e atributos no meu editor. Tudo vai bem.
No entanto, ao plotar coisas a partir de dataframes com a altair
API, conforme mostrado no documento, não consigo encontrar o tipo do objeto retornado em polars
.
import polars as pl
import typing as tp
data = {"a": [0,0,0,0,1,1,1,2,2,3]}
df = pl.DataFrame(data)
def my_plot(df: pl.DataFrame, col: str) -> tp.Any:
"""Plot an histogram of the distribution of values of df[col]"""
return df[col].value_counts(
).plot.bar(
y="count",
x=col
).properties(
width=400,
)
u = my_plot(df, "a")
u.show()
Como eu digito a saída dessa função? O documento afirma que a saída de (...).plot
é um DataFramePlot
objeto, mas não há informações sobre esse tipo, e de qualquer forma eu estou usando a saída de (...).plot.bar(...)
que tem um tipo diferente.
Se eu executar type(u)
, obtenho altair.vegalite.v5.api.Chart
, mas parece duvidoso usar isso para tipagem estática, e não quero importar altair
no meu código, pois os altair
métodos que preciso já estão incluídos em polars
.
Não consegui encontrar nenhuma informação sobre isso, então qualquer ajuda é bem-vinda
Obrigado!
Você pode fazer