如何解决如何在 Altair 中绘制 groupby?
我按流派分组并尝试使用 altair 进行绘图,但出现以下错误。
disney_revenue = disney_movies.assign(inflation_adjusted_gross = disney_movies['inflation_adjusted_gross'].str.strip('$').str.replace(',','').astype(float))
disney_total_revenue = disney_revenue.assign(total_gross = disney_revenue['total_gross'].str.strip('$').str.replace(','').astype(float))
disney_group = disney_total_revenue.groupby(by='genre')
chart2 = alt.Chart(disney_group,width=500,height=300).mark_circle().encode(
x='movie_title:N',y='inflation_adjusted_gross:Q').properties(title='Total Adjusted Gross per Genre')
chart2
---------------------------------------------------------------------------
SchemaValidationError: Invalid specification
altair.vegalite.v4.api.Chart->0,validating 'type'
<pandas.core.groupby.generic.DataFrameGroupBy object at 0x7f0611f2ac10> is not of type 'object'
解决方法
您不能将 pandas groupby 对象传递给 alt.Chart
– 您必须传递一个数据框。但是,如果您想可视化分组数据,则可以通过 Altair 编码语法来实现。例如,这是您尝试创建的图表版本,按流派分面:
alt.Chart(disney_total_revenue).mark_circle().encode(
x='movie_title:N',y='inflation_adjusted_gross:Q',facet='genre:N',).properties(
title='Total Adjusted Gross per Genre'
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。