基于两个 coulmns 的熊猫百分比图

时间:2021-03-30 09:20:49

标签: python pandas matplotlib

数据

 List=['X','Y'] 

ColA  ColB  ColC   

te     Y    a
te     Y    a
alo         a
te     Y    b
te     2    b
bb     Y    b
aa     X    c
alo    u    c
aa     b    c

我想绘制一个条形图,在 x 轴上带有 col A,并且在 col B 中的列表中具有任何值的值的百分比,例如对于 te (3/4)*100, aa(1/1)*100 , alo(0/1)*100 等等

1 个答案:

答案 0 :(得分:1)

单线可以

df.groupby('ColA').ColB.apply(lambda x: x.notna().sum()/len(x)).mul(100).plot(kind='bar')

提供的数据

  ColA  ColB
0   te     Y
1   te     Y
2  alo  None
3   te     Y
4   te  None
5   bb     Y
6   aa     X

注意:不要忘记导入 matplotlib

from matplotlib import pyplot as plt

输出

enter image description here