クライアントが質問に答え、クライアントが特定のカテゴリに属しているデータセットがあります。カテゴリは順序です。私は比例積み重ね棒グラフとして変化率を視覚化したい。ここではいくつかのテストデータは次のとおりです。比例データのプロット(積み重ね棒グラフ)
answer | categ
1 1
2 1
3 2
1 2
2 3
3 3
1 1
2 1
3 2
1 2
2 3
3 3
1 3
2 2
3 1
ここであなたがそれを生成する方法である。
おそらく非常に良く、より効率的に記述することができ、いくつかの複雑なコードを使用してpd.DataFrame({'answer':[1,2,3]*5, 'categ':[1,1,2,2,3,3]*2+[3,2,1]})
私は答え内の割合になりました。
test = pd.DataFrame({'answer':[1,2,3]*5, 'categ':[1,1,2,2,3,3]*2+[3,2,1]})
rel_data = pd.merge(pd.DataFrame(test.groupby(['answer','categ']).size()).reset_index(),pd.DataFrame(test.groupby('answer').size()).reset_index(), how='left', on='answer')
rel_data.columns = ['answer', 'categ', 'number_combination', 'number_answer']
rel_data['perc'] = rel_data['number_combination']/rel_data['number_answer']
rel_data[['answer', 'categ', 'perc']]
これは、その結果:私はカテゴリごとにバーと色の領域答えあたりで積み上げ棒プロットにこれを取得するにはどうすればよい
answer | categ | perc
1 1 0.4
1 2 0.4
1 3 0.2
2 1 0.4
2 2 0.2
2 3 0.4
3 1 0.2
3 2 0.4
3 3 0.4
?
これは悪い一ライナーだよ! –