Pandas поддерживает автоматическое построение каждого столбца на участке. Итак, вы хотите выбрать CityName
в качестве индекса, сделать EventCode
в качестве столбца и графика.
(df.sort_values('EventCount', ascending=False) # sort descending by `EventCount`
.groupby('EventCode', as_index=False)
.head(5) # get 5 most count within `EventCode`
.pivot(index='CityName', # pivot for plot.pie
columns='EventCode',
values='EventCount'
)
.plot.pie(subplots=True, # plot with some options
figsize=(10,6),
layout=(2,3))
)
Выход: