如何基于Pandas DataFrame绘制X为product、Y为user_id去重计数的柱状图
问题解答
当然可以实现,核心逻辑是先按X轴维度分组,统计Y轴指定列的去重计数后,直接调用Pandas封装的绘图接口即可,参考代码如下:
import pandas as pd import matplotlib.pyplot as plt # 示例数据 df = pd.DataFrame({'user_id': ['abc', 'abc', 'def'], 'product': ['A1', 'A2', 'A3']}) # 按product分组,统计每个分组下的去重user_id数量,直接绘图 df.groupby('product')['user_id'].nunique().plot( kind='bar', xlabel='产品', ylabel='去重用户数', rot=0, # 控制x轴标签水平展示,避免倾斜 color='#409eff' ) # 展示图表 plt.show()
补充说明:
- 代码里的
nunique()就是Pandas提供的去重计数方法,刚好匹配你需要的Y轴计算规则 - 如果需要自定义图表样式,可直接在
plot()方法中添加对应参数调整,比如添加title='各产品去重用户统计'即可设置图表标题
内容的提问来源于stack exchange,提问作者Jurij
相关产品推荐
相关产品推荐

