2016-10-25 8 views
0

私はPandas groupbyでプロットする大規模なデータセットのプロットを作成します。複数のグループ化されたパンダをプロットする

groupbyは2つのレイヤーです。 1つは数値(希望するx軸)で、1つはカテゴリです(積み重ねられた棒グラフ上にこの異なるボックスを作っています)。データフレームによって。

 import pandas as pd 
    import matplotlib.pyplot as plt 
    data= pd.DataFrame() 

    data['x_axis'] = [1,1,2,2] 
    data['category'] = ['a','b','a','b'] 
    data['y_value'] = [10,15,20,30] 

    data = data.groupby(['x_axis','category']).sum() 
    data.reset_index(inplace = True) 


    data.plot.bar(x = 'x_axis', y= 'y_value', stacked = True) 
    plt.show() 

これは以下

numeric_x_axis category sum_value 
      1   a   10 
         b   15 
      2   a   20 
         b   30 

もたらすため欲望チャート斧(1,2)の軸線とを有するとBの積層バーが積み重ね棒グラフを有するであろうy軸値としての合計値。

ただし、グラフには複数の繰り返しx_axis値が表示されます。

+1

のように見えますか?あなたはそのチャートを作ろうとしましたか?その場合は、コードを表示して明示的に問題を述べます。そうでない場合は、まずそれを試してください! – ImportanceOfBeingErnest

答えて

0

groupbyを使用しますか?あなたの説明に基づいて、それはあなたがより良いサービスを提供するように思われますpivot

data = pd.DataFrame() 

data['x_axis'] = [1,1,2,2] 
data['category'] = ['a','b','a','b'] 
data['y_value'] = [10,15,20,30] 

pivoted_data = data.pivot('x_axis', 'category') 
pivoted_data.plot(kind='bar', stacked=True) 
plt.show() 

enter image description here


注意、旋回しデータフレームは、問題や疑問です正確に何

In [2]: pivoted_data 
Out[2]: 
     y_value  
category  a b 
x_axis    
1    10 15 
2    20 30 
関連する問題