我有一个这样的数据框,
df = pd.DataFrame(data=[[1100,1200,1620],
[60,4880,7950],
[1100,6878,11564],
[430,15100,52765],
[0,6150,63990]],
columns=['A', 'B', 'Total'],
index = ['ITEM1', 'ITEM2', 'ITEM3', 'ITEM4', 'ITEM5'])
df.plot.bar()
如何使用每个ITEM_列上的百分比创建图?
答案 0 :(得分:1)
我不确定我是否正确回答了您的问题,也无法发表评论。你是这个意思吗?
df.T.plot.bar()
我只是调换了图的数据框。
答案 1 :(得分:1)
df = pd.DataFrame(data=[[1100,1200,1620],
[60,4880,7950],
[1100,6878,11564],
[430,15100,52765],
[0,6150,63990]],
columns=['A', 'B', 'Total'],
index = ['ITEM1', 'ITEM2', 'ITEM3', 'ITEM4', 'ITEM5'])
df['percA'] = df['A']/df['Total']*100
df['percB'] = df['B']/df['Total']*100
df[['percA', 'percB']].plot(kind='bar')
这是您想要的吗?
答案 2 :(得分:0)
df = pd.DataFrame(data=[[1100, 1200, 1620],
[60, 4880, 7950],
[1100, 6878, 11564],
[430, 15100, 52765],
[0, 6150, 63990]],
columns=['A', 'B', 'Total'],
index=['ITEM1', 'ITEM2', 'ITEM3', 'ITEM4', 'ITEM5'])
df_col_percent = 100*df /df.sum(0)
df_item_percent = 100*df.T/df.sum(1)
df_item_percent.plot(kind='bar')
df_col_percent.plot(kind='bar')
将绘制正确的百分比(此处其他解决方案假定总计= A + B),我很着急,所以不会添加图图杜卢(pudulu)