2016-05-09 10 views
0

私はこのデータフレームを持ってパンダ複数のカテゴリのためのプロットの棒グラフは

Countries 
IsVertical 

例:私は2列を持つ棒グラフを作成したい

USA FALSE 
USA FALSE 
Poland FALSE 
Italy TRUE 
Italy TRUE 

各国(Trueの場合は1、Falseの場合はIsVerticalから)、国が表示される正規化回数をy軸にする必要があります。

私はこのような何かをしようと試み:

data.groupby("Country").count().plot(kind="bar") 
問題は、それは私にIsVertical foreachの国の2つのバーを与えないこと、それが唯一のIsVerticalが表示され、分裂しない回数をカウントしていることである

IsVertical

SOLUTIONの合計数によって:終わり

result = data.groupby('Country').apply(
     lambda group: (group.IsVertical.sum()/float(data.IsVertical.sum())) 
    ).to_frame('Vertical') 

    result.plot(kind='bar') 

答えて

1
result = df.groupby('Countries').apply(
      lambda group: (group.IsVertical == 'TRUE').sum()/
          float(group.IsVertical.count()) 
     ).to_frame('Vertical') 

result['NotVertical'] = 1 - result.Vertical 
>>> result 
      Vertical NotVertical 
Countries      
Italy    1   0 
Poland   0   1 
USA    0   1 

result.plot(kind='bar') 
+0

それはsomethiました似ていますが、まったく同じではありませんが、感謝しました。 – Lee

関連する問題