Trazando un Pandas DataSeries.GroupBy

Soy nuevo en Python y Pandas, y tengo el siguiente DataFrame .

¿Cómo puedo trazar el DataFrame donde cada ModelID es un gráfico separado, saledate es el eje x y MeanToDate es el eje y?

Intento

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

introduzca la descripción de la imagen aquí

Marco de datos

introduzca la descripción de la imagen aquí

Puede hacer los gráficos haciendo un bucle sobre los grupos de groupby :

 import matplotlib.pyplot as plt for title, group in df.groupby('ModelID'): group.plot(x='saleDate', y='MeanToDate', title=title) 

Consulte para obtener más información sobre el trazado con marcos de datos de pandas:
http://pandas.pydata.org/pandas-docs/stable/visualization.html
y para hacer un bucle sobre un groupby-object:
http://pandas.pydata.org/pandas-docs/stable/groupby.html#iterating-through-groups

Ejemplo con agregación:

Quería hacer algo como lo siguiente, si los pandas tuvieran una estética de color como ggplot:

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

(columnas: el modelo es una cadena, training_examples es un número entero, la precisión es un decimal)

Pero eso solo produce un lío.

Gracias a la respuesta de joris, terminé con:

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

Descubrí que title= solo estaba reemplazando el título único de la ttwig en cada iteración de bucle, pero label= hace lo que cabría esperar, después de ejecutar plt.legend() , por supuesto.