【问题标题】:Sort and limit number of bars to display on bargraph排序和限制条形图上显示的条形数
【发布时间】:2016-11-15 06:10:27
【问题描述】:

我有一个交通违规数据集,并且想在条形图上仅显示每月前 10 项违规行为。我可以限制排序值后的条数以仅显示前 10 个吗?交通违法列名有42个。

month_jan = df[df.MonthName == "Jan"]
month_jan[feature_cols].sum().sort_values(ascending=0).plot(kind='bar')

Feature_cols 是与交通违规对应的所有 42 个列名的列表。

谢谢!

【问题讨论】:

  • month_jan[feature_cols].sum().sort_values(ascending=0)[:10].plot(kind='bar')
  • 不客气。

标签: python pandas bar-chart


【解决方案1】:

这将起作用:

month_jan[feature_cols].sum().sort_values(ascending=0)[:10].plot(kind='bar')

【讨论】:

    【解决方案2】:

    Series 对象有一个.head 方法,就像DataFrames (docs)。 这使您可以使用data.head(N) 非常优雅地选择前 N 个项目。 这是一个完整的工作示例:

    import pandas as pd
    
    df = pd.DataFrame({
        'feature1': [0, 1, 2, 3],
        'feature2': [2, 3, 4, 5],
        'MonthName': ['Jan', 'Jan', 'Jan', 'Feb']
    })
    feature_cols = ['feature1', 'feature2']
    
    month_jan = df[df.MonthName == "Jan"]
    top10 = month_jan[feature_cols].sum().sort_values(ascending=0).head(10)
    top10.plot(kind='bar')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-03
      • 2022-08-12
      • 1970-01-01
      • 1970-01-01
      • 2023-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多