Python 使用seaborn拟合计数图上每列的总计数

Python 使用seaborn拟合计数图上每列的总计数,python,seaborn,Python,Seaborn,我试着把“不”的频率作为一个标签贴在每一个酒吧的顶部,但没有做到。尝试了之前的问题中已经问过的各种事情,但对我没有帮助 数据: A B C D 1 yes no no 2 no no no 3 yes no no 4 no no yes 5 yes yes yes 6 yes yes no 7 no yes no 代码: data_new = df.loc[:,'B':].eq('yes').sum().reset_index(nam

我试着把“不”的频率作为一个标签贴在每一个酒吧的顶部,但没有做到。尝试了之前的问题中已经问过的各种事情,但对我没有帮助

数据:

A   B   C   D
1   yes no  no 
2   no  no  no 
3   yes no  no 
4   no  no  yes
5   yes yes yes
6   yes yes no
7   no  yes no
代码:

data_new = df.loc[:,'B':].eq('yes').sum().reset_index(name='counts')
sns.barplot(x='index',
            y='counts'  , 
            data=)

labels = ["card", "location", "merchant", "transaction", "spendlimit"] # column names

for i in range(len(data_new)):
    plt.annotate(str(data_new[i]), xy=(n[i],data_new[i]))

问题是您不能像这样索引数据帧。
您必须使用
.loc()
.iloc()

请尝试:

fig = plt.figure(figsize=(4,3))
ax = sns.barplot(x='index',y='counts',data=data_new)

for i in range(len(data_new)): 
    ax.annotate(str(data_new.loc[i,'counts']), 
                xy=(i,data_new.loc[i,'counts'])) 
结果:

如何添加打印大小?