我有一個數據集,客戶端回答一個問題,客戶端屬於某個類別。該類別是序號。我想將百分比的變化視爲一個比例疊加的barplot。下面是一些測試數據:繪製比例數據python(堆積barplot)
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
我如何得到這個了多層條形圖,每回答每個類別酒吧和有色領域?
夥計,這是一個壞蛋一個班輪! –