Pandas Dataframe Групповые столбцы не работают в Matplotlib Barplot - PullRequest
0 голосов
/ 30 октября 2019

У меня есть данные, которые содержат самоубийства, год за годом и страну за страной и многое другое. Я сгруппировал их по возрасту и стране, но, делая это, я думаю, что страна и возраст становятся индексами, и поэтому я не могу использовать их на barplot. Вот код.

spe = df.groupby(['country','age']).sum().sort_values(by='suicides_no').xs(level='age',
                                                                          key='15-24 years')
sns.barplot(x = 'country', y = 'suicides_no',data = spe)
matplotlib.pyplot.xticks(rotation=90)

Я получаю эту ошибку:

ValueError: Не удалось интерпретировать ввод 'страна'

Ответы [ 2 ]

1 голос
/ 30 октября 2019

Вы можете превратить индикаторы обратно в столбцы spe = spe.reset_index()

0 голосов
/ 31 октября 2019

Если вы указываете только одну возрастную группу, как указывает ваш spe, вы можете просто сделать:

(df[df['age']=='15-24 years'].groupby('country', as_index=False)
     .sort_values('suicides_no')
     .plot.bar(x='country', y='suicides_no')
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...