我想計算每個 id 的百分比并生成一個條形圖。
這是我的資料示例:
id LGA Status
1 Banyule Referred
2 Hepburn Referred
3 Kingston Not Referred
4 Darebin Not Referred
5 Darebin Managed Externally
6 Darebin Managed Externally
7 Mansfield Managed Externally
8 Casey Referred
9 Mitchell Referred
10 Mitchell Not Referred
11 Moreland Referred
12 Whittlesea Not Referred
13 Glen Eira Not Referred
14 Dandenong Referred
15 Hume Not Referred
16 Hume Managed Externally
17 Campaspe Not Referred
18 Melbourne Not Referred
19 Melbourne Not Referred
我使用“groupby”函式來計算“LGA”和“Status”列的計數并生成條形圖。
示例代碼;
df['Status'].value_counts().plot(kind='bar')
df['LGA'].value_counts().plot(kind='bar')
如果我對繪制相同列的百分比并分別生成條形圖感興趣,我不確定如何優雅地做到這一點。
預期輸出:我使用 excel 匯出以下輸出
Status % of Grand Total
Not Referred 58.42%
Referred 23.68%
Managed Externally 17.89%
Grand Total 100.00%
預期條形圖:

任何幫助,將不勝感激。
uj5u.com熱心網友回復:
我相信這就是你要找的:
temp_df = (df.groupby('Status').size().sort_values(ascending=False) / df.groupby('Status').size().sort_values(ascending=False).sum())*100
ax = temp_df.plot(kind='bar')
ax.bar_label(ax.containers[0])
plt.show()
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/396529.html
