【问题标题】:pandas plot value counts barplot in descending manner [duplicate]熊猫绘图值以降序方式计算条形图[重复]
【发布时间】:2018-08-10 03:03:03
【问题描述】:

我有一个数据框,我试图在其中计算每个值的出现次数。 我将其绘制为水平条,但无法对其进行排序。

df = pd.DataFrame(['A','A','A','B','B','C'],columns = ['letters'])

df.value_counts()

A 3
B 2
C 1

我怎样才能让它以降序方式排序?

【问题讨论】:

    标签: python pandas matplotlib seaborn


    【解决方案1】:

    你可以像这样改变你的绘图线来做到这一点

    df.letters.value_counts().sort_values().plot(kind = 'barh')
    

    【讨论】:

    • 如果您想在顶部绘制最大的条,这很好。要按字母顺序对条形类别进行排序而不考虑其值计数,请使用 df.letters.value_counts().sort_index(ascending=False).plot(kind='barh')
    • 除非我误读了这个问题,否则它在任何地方都没有说它指的是字母顺序,但如果是这样,你是对的
    • 谢谢,是的,我想按值而不是名称排序。很抱歉造成混乱。
    • 为什么不df['letters'].value_counts().sort_values().plot.barh()?
    【解决方案2】:

    这可能算作是个小技巧,但试试这个:

    df.letters.value_counts().sort_index(ascending=False).plot(kind='barh')
    

    【讨论】:

      猜你喜欢
      • 2020-02-04
      • 1970-01-01
      • 2021-06-16
      • 2017-12-30
      • 1970-01-01
      • 2020-04-11
      • 2021-10-24
      • 1970-01-01
      相关资源
      最近更新 更多