我使用polars
数据框(此模块的新功能)并使用一些静态类型,以保持代码整洁干净,便于调试,并允许在编辑器上自动完成方法和属性。一切顺利。
但是,当使用 API 从数据框绘制事物时altair
,如文档中所示,我无法找到返回对象的类型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()
我该如何输入此函数的输出?文档指出的输出(...).plot
是一个DataFramePlot
对象,但没有关于此类型的信息,而且无论如何我使用的 的输出(...).plot.bar(...)
具有不同类型的。
如果我运行type(u)
,我会得到altair.vegalite.v5.api.Chart
,但将其用于静态类型似乎不太现实,并且我不想altair
在我的代码中导入,因为altair
我需要的方法已经包含在内polars
。
我找不到任何关于此的信息,所以欢迎任何帮助
谢谢!