2017-07-10 13 views
1

私はdf.groupby(["event_type"、 "day"]。count()を実行して次のデータを取得しました。マルチインデックス付きDF:マルチレベルのデータフレームから散布図を作成する[pandas]

counts df

私の目的は、event_typeの順にソート日あたりのイベントの発生の数を示して散布図を作成することであるx軸は「日」であるので、散布図。 y軸は上の表の "id"になります(カウントです)。しかし、私はそれを作る方法を知らない。

背景:event_typeは3種類しかありません。日付の耳。 "id"は私がトラッキングしているもののIDですが、上記の.groupby()データフレームでは実際にIDの数です。私は理想的には、3つの別々の行をidの数と年の日をプロット(event_typeごとに1つ)したいと思います。ありがとう!

+1

答えを書き込もうとしたときにコピーすることができます手助けしようとしているものは/貼り付けするようにあなたは、code' 'としてフォーマット貼り付けデータ&コードの習慣を身に取得する必要があります。 – cmaher

+0

'id'は離散変数です - それはすでに集計されています - ' day'は時系列/カテゴリ変数なので、このデータの散布図は基本的に点プロットのように見えますノード)。その代わりに線または棒グラフを考えてみましょう。 'matplotlib.pyplot'はPython用の最も一般的なプロットライブラリです - 棒グラフのサンプルコードはこちらhttps://matplotlib.org/examples/api/barchart_demo.html – cmaher

答えて

0

私はこれが役立つことを願っています:あなたの代わりに散乱の通常のプロットをしたい場合は

a['date'] = pd.to_datetime(a['date']) 
for name, group in a.groupby(['type','date']).count().groupby('type'): 
    plt.plot(group.reset_index().set_index('date')['v1'], marker=o, linestyle='', label=name) 
    plt.legend() 

enter image description here

、マーカーとラインスタイルの引数を削除します。 私のDFは、次のようになります。

enter image description here

+0

df [df ['type' ] .isin(['type_a'、 'type_b'])]新しいdfに代入し、新しいdfからグラフを作成する –

関連する問題