Сначала сгруппируйте значения, затем отсортируйте и измените ascending=True
на False
:
df1 = df1.groupby('region').mean().sort_values(['AveragePrice'],ascending=False).plot(kind='bar', figsize=(15,5))
Кроме того, этот код будет перезаписывать df1
как субплот Matplotlib вместо обновления кадра данных.Дальнейшие вызовы df1
будут просто выводить тип (matplotlib.axes._subplots.AxesSubplot
) вместо отображения кадра данных.
Чтобы обновить df1
с помощью сгруппированного и отсортированного кадра данных, вы должны сначала манипулировать данным кадром и сохранить его, затемграфик вызовов на обновленном кадре данных, как показано ниже:
# Manipulate the dataframe
df1 = df1.groupby('region').mean().sort_values(['AveragePrice'],ascending=False)
# Plot the results
df1.plot(kind='bar', figsize=(15,5))
Таким образом, дальнейшие вызовы df1
отобразят сгруппированный и отсортированный кадр данных, как и ожидалось.