首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >绘制熊猫DataSeries.GroupBy

绘制熊猫DataSeries.GroupBy
EN

Stack Overflow用户
提问于 2013-05-04 23:56:28
回答 2查看 57.5K关注 0票数 20

我是python和pandas的新手,我有以下DataFrame

如何绘制DataFrame,其中每个ModelID都是一个单独的绘图,saledate是x轴,MeanToDate是y轴?

尝试

data[40:76].groupby('ModelID').plot()

DataFrame

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-05 02:05:33

您可以通过循环遍历groupby中的组来绘制地块

import matplotlib.pyplot as plt

for title, group in df.groupby('ModelID'):
    group.plot(x='saleDate', y='MeanToDate', title=title)

有关使用pandas数据帧绘图的更多信息,请参见:

http://pandas.pydata.org/pandas-docs/stable/visualization.html

以及循环遍历groupby-object:

http://pandas.pydata.org/pandas-docs/stable/groupby.html#iterating-through-groups

票数 30
EN

Stack Overflow用户

发布于 2014-03-13 11:49:29

聚合示例:

如果熊猫有像ggplot这样的色彩美学,我想做一些类似以下的事情:

aggregated = df.groupby(['model', 'training_examples']).aggregate(np.mean)
aggregated.plot(x='training_examples', y='accuracy', label='model')

(列: model为字符串,training_examples为整数,accuracy为小数)

但这只会造成混乱。

多亏了joris的回答,我最终得到了:

for index, group in df.groupby(['model']):
    group_agg = group.groupby(['training_examples']).aggregate(np.mean)
    group_agg.plot(y='accuracy', label=index)

我发现title=只是在每次循环迭代中替换了图的单个标题,但是label=做了您所期望的事情--当然是在运行plt.legend()之后。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16376159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档