我有一个dataframe,看起来像这样:
user_id segment device operating_system
0 51958733 small and above desktop Chrome OS
1 48983182 unfunded desktop Chrome OS
2 54011662 unfunded desktop (not set)
3 53932081 unfunded desktop (not set)
4 51537380 unfunded desktop Chrome OS
... ... ... ... ...
503657 53898078 unfunded desktop Macintosh
503658 52169624 long tail desktop Macintosh
503659 53965505 unfunded desktop Macintosh
503660 50678194 unfunded desktop Macintosh
503661 52143912 unfunded desktop Macintosh
我想找到一种方法来有效地计算每个组的不同用户数(实际上我真实的数据框架中有更多的列/组),并在条形图中绘制输出(或者其他更合适的方法)
我在一个笔记本上工作,现在我正在为不同单元格中的每一列运行以下代码:
groupby_segment = eda_df.groupby('segment').ahid.nunique()
groupby_segment.plot.bar(x="Segment", y="ahid", rot=70, title="Segment Distribution")
plt.show(block=True);
这不是很有效,因为我必须手动创建/更新我的笔记本的每个单元格,此外,它不是很好的可视化,因为每个条形图是分开的。我想让他们“分组”到同一个可视化中。我也想有这显示为一个比率,而不是一个简单的不同计数。
1条答案
按热度按时间2g32fytz1#
您可以使用“ax.plot”或here中的其他函数来绘制不同的图形。
注意-它将为所有列创建相同的图形。