2016-05-01 20 views
2

以下に示すように、変数の値の分布を円グラフでプロットする関数を作成しました。 Pie chart I need to get円グラフの値の数をプロットできません

def draw_piecharts(df, variables, n_rows, n_cols): 
    df[variables].value_counts.plot(kind='pie', layout=(n_rows,n_cols), subplots=True) 
    plt.show() 
def main(): 
    util.draw_piecharts(df, [ 'TARGET', 'BanruptcyInd'], 1,2) 
if __name__ == "__main__": 
    main() 

残念ながら、データフレームが何の属性value_counts()を持っていないので、私の関数は計算しない、とvalue_countsは私が円グラフにプロット分布を取得する方法を知っている唯一の方法です。 は、ここにプロットされている変数のサンプルです:

0  0 
1  0 
2  0 
3  0 
4  0 
5  0 
6  0 
7  0 
8  0 
9  0 
10 0 
11 0 
12 1 
13 0 
14 0 
15 0 
16 0 
17 1 
18 0 
19 0 
20 0 
21 1 
22 0 
23 0 
24 1 
25 0 
26 1 
27 0 
28 0 
29 0 
Name: TARGET, dtype: int64 
0  0 
1  0 
2  0 
3  0 
4  0 
5  0 
6  0 
7  0 
8  0 
9  0 
10 0 
11 0 
12 0 
13 0 
14 0 
15 0 
16 0 
17 0 
18 0 
19 0 
20 0 
21 0 
22 0 
23 0 
24 0 
25 0 
26 0 
27 0 
28 0 
29 0 

答えて

1

value_countsシリーズの方法であるが、それは簡単にDataFrame.applyを使用してデータフレーム内のシリーズに適用されます。あなたの場合。例えば、

df[variables].apply(pd.value_counts).plot(kind='pie', layout=(n_rows,n_cols), subplots=True) 

(仮定pandaspdとしてインポートされています)。完全例えば

import pandas as pd 
a = pd.DataFrame({'a': [1,0,0,0,1,1,0,0,1,0,1,1,1],'b': [1,0,0,0,1,1,0,0,1,0,0,0,0]}) 
a.apply(pd.value_counts).plot.pie(subplots=True) 
関連する問題