首页 > 解决方案 > 在 Python 中按值绘制直方图排序

问题描述

我有一个熊猫数据框如下:

              number
Art           10000
Comics        235
Crafts        293
Dance         824

如何绘制按值排序的直方图?

示范:

*
* *
* *
* *
* *
* * * *
* * * *
-------------
x labels = Art/ Dance/ Crafts/ Comics

我试过pandas.DataFrame.hist了,但不确定如何选择合适的参数。

标签: pythonpandashistogram

解决方案


您可以先对数据框进行排序,然后使用您的数据框plot方法创建绘图

测试数据(我设置category为索引,因为它看起来像你的实际数据):

import pandas as pd

df = pd.DataFrame({'category': ['Art', 'Comics', 'Crafts', 'Dance'],
                   'number': [10000, 235, 293, 824]})
df.set_index('category', inplace=True)

          number
category        
Art        10000
Comics       235
Crafts       293
Dance        824

number然后通过使用df.sort_values()和调用排序df.plot()

df.sort_values('number', inplace=True)

df.plot(y='number', kind='bar', legend=False)

在此处输入图像描述


推荐阅读