python and pandas)が初めてで、次のDataFrame
があります。
DataFrame
をプロットするにはどうすればよいですか。各ModelID
は個別のプロット、saledate
はx軸、MeanToDate
はy軸です。
試行
data[40:76].groupby('ModelID').plot()
データフレーム
groupby
のグループをループしてプロットを作成できます。
import matplotlib.pyplot as plt
for title, group in df.groupby('ModelID'):
group.plot(x='saleDate', y='MeanToDate', title=title)
pandas dataframesを使用したプロットの詳細については、以下を参照してください。
http://pandas.pydata.org/pandas-docs/stable/visualization.html
そしてgroupby-objectをループするため:
http://pandas.pydata.org/pandas-docs/stable/groupby.html#iterating-through-groups
集約の例:
pandasがggplotのような色の美学を持っていた場合、私は次のようなことをしたかった:
_aggregated = df.groupby(['model', 'training_examples']).aggregate(np.mean)
aggregated.plot(x='training_examples', y='accuracy', label='model')
_
(列:モデルは文字列、training_examplesは整数、精度は小数です)
しかし、それは混乱を生むだけです。
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=
_は期待どおりに動作します-after running plt.legend()
、 もちろん。