2024-09-24 22:21:46 发布
网友
我是python和pandas的新手,有以下的DataFrame。
DataFrame
如何绘制DataFrame,其中每个ModelID是一个单独的图,saledate是x轴,MeanToDate是y轴?
ModelID
saledate
MeanToDate
尝试
data[40:76].groupby('ModelID').plot()
数据帧
聚合示例:
如果熊猫的颜色美学像ggplot,我想做如下事情:
aggregated = df.groupby(['model', 'training_examples']).aggregate(np.mean) aggregated.plot(x='training_examples', y='accuracy', label='model')
(列:模型为字符串,训练示例为整数,精度为十进制)
但那只会造成混乱。
多亏了乔里斯的回答,我最终得到了:
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()之后。
title=
label=
plt.legend()
您可以通过循环来自groupby的组来生成绘图:
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对象上的循环:http://pandas.pydata.org/pandas-docs/stable/groupby.html#iterating-through-groups
聚合示例:
如果熊猫的颜色美学像ggplot,我想做如下事情:
(列:模型为字符串,训练示例为整数,精度为十进制)
但那只会造成混乱。
多亏了乔里斯的回答,我最终得到了:
我发现
title=
只是在每个循环迭代中替换了绘图的单个标题,但是label=
做了您所期望的--当然是在运行plt.legend()
之后。您可以通过循环来自
groupby
的组来生成绘图:有关使用pandas数据帧绘制的详细信息,请参见:
http://pandas.pydata.org/pandas-docs/stable/visualization.html
对于groupby对象上的循环:
http://pandas.pydata.org/pandas-docs/stable/groupby.html#iterating-through-groups
相关问题 更多 >
编程相关推荐