我子集并融化了Airbnb数据集,并尝试绘制分组图表:
from plotnine import *
airbnb_melted = pd.melt(airbnb_newcomers,id_vars =['host_id'],value_vars =['host_identity_verified','host_is_superhost'])
print(airbnb_melted)
融化的数据集如下:
我知道我的以下代码是错误的,并且情节的输出不是我想要的,但它最接近我的想法:
ggplot(airbnb_melted,aes(x='variable',y='value')) +\
geom_bar(stat = 'sum',position=position_dodge())
我在网上搜索并发现了许多以y
作为数值变量和stat='count'
可以使用的绘图示例。但是,这里的y
是分类的,它显示错误PlotnineError: 'stat_count() must not be used with a y aesthetic'
如何绘制类似于以下格式的分组条形图?橙色词是我添加的指示。谢谢。
2020年1月20日更新:感谢@StupidWolf的帮助,编码如下:
airbnb_host_count = airbnb_melted.replace(np.NaN,'NA').groupby(['value','variable']).count().reset_index()
'host_id'实际上表示此处的计数:
ggplot(airbnb_host_count,y='host_id',fill='value')) +\
geom_bar(stat='sum',position=position.dodge())