【发布时间】:2016-06-12 02:13:11
【问题描述】:
对于数据框
import pandas as pd
df=pd.DataFrame({'group':list("AADABCBCCCD"),'Values':[1,0,1,0,1,0,0,1,0,1,0]})
我正在尝试绘制一个条形图,显示 A, B, C, D 取零(或一)的次数百分比。
我有一个可行的方法,但我认为必须有更直接的方法
tempdf=df.groupby(['group','Values']).Values.count().unstack().fillna(0)
tempdf['total']=df['group'].value_counts()
tempdf['percent']=tempdf[0]/tempdf['total']*100
tempdf.reset_index(inplace=True)
print tempdf
sns.barplot(x='group',y='percent',data=tempdf)
如果它只是绘制平均值,我可以简单地在 df 数据帧上做 sns.barplot 而不是 tempdf。如果我对绘制百分比感兴趣,我不确定如何优雅地做到这一点。
谢谢,
【问题讨论】:
-
有一种方法可以直接使用 Dexplot 库来做到这一点。见my answer below。
标签: python pandas bar-chart seaborn