Python 基于两个Coulmn的熊猫百分比图

Python 基于两个Coulmn的熊猫百分比图,python,pandas,matplotlib,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轴上绘制一个带有a列的条形图,以及B列列表中具有任意值的值的百分比,例如te(3/4)*100、aa(1/1)*100、alo(0/1)*100等等 df

数据

 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轴上绘制一个带有a列的条形图,以及B列列表中具有任意值的值的百分比,例如te(3/4)*100、aa(1/1)*100、alo(0/1)*100等等

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
输出


< /P>在Col B中,我有很多值,只想在<代码>清单>代码>中应用一个过滤器,然后使用上面的代码,如<代码> df= df[df.COLB.ISIN(list)] < /代码>