подгонка общего количества на графике подсчета для каждого столбца с использованием морского рожка - PullRequest
1 голос
/ 27 апреля 2020

Я пытаюсь подогнать частоту этого «нет» в качестве метки в верхней части каждого столбца, но мне это не удается. пробовал разные вещи, которые уже задавались в предыдущих вопросах, но dint мне в помощь.

data:

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]))

1 Ответ

1 голос
/ 27 апреля 2020

Проблема в том, что вы не можете индексировать фреймы данных таким образом.
Вы должны использовать .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'])) 

Результат:
enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...