pandas 按条件分组制图

如何以姓名为横坐标,分数为纵坐标,画 条形图?
图片描述

阅读 6.9k
1 个回答

試試

df.pivot('name', 'subject', 'score').plot.bar()

基本pandas 可視化原則是,使用pivot 或melt搞出製圖需要的表格格式。

下列是我跑的代碼(Jupyter Notebook)

% matplotlib inline
data = [ {"name":"abc", "subject":"A", "score":40}, {"name":"abc", "subject":"B", "score":60}, {"name":"abc", "subject":"C", "score":40},
        {"name":"xyz", "subject":"A", "score":10}, {"name":"xyz", "subject":"B", "score":90}, {"name":"xyz", "subject":"C", "score":30}]
df = pd.DataFrame(data)
df.pivot('name', 'subject', 'score').plot.bar()

結果:
图片描述

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题