【问题标题】:'Cannot access callable attribute 'sort_values' of 'DataFrameGroupBy' objects, try using the 'apply' method''无法访问'DataFrameGroupBy'对象的可调用属性'sort_values',请尝试使用'apply'方法'
【发布时间】:2019-01-17 10:12:53
【问题描述】:

我正在尝试对数据框中的数字列进行排序,但收到此错误“id”列在特定站点有 id 计数。例如2272、2202、1855等

df.sort_values(by=['id'])

但是,我收到此错误:

'无法访问'DataFrameGroupBy'的可调用属性'sort_values' 对象,尝试使用 'apply' 方法'

【问题讨论】:

    标签: python python-3.x pandas numpy group-by


    【解决方案1】:

    您正在尝试从 GroupBy 对象调用 DataFrame 方法。如果您的目标是在每个组中排序,您可以简单地在by 中传递多个键:

    df 作为 数据框 而不是 groupby 对象...

    df.sort_values(by=['groupby_key1', 'groupby_key2', '...', 'id'])
    

    如果您想在分组内排序,请按照错误消息的建议进行操作并使用applydf 作为 数据框,而不是 groupby 对象):

    gb = df.groupby(['gropuby_key1', 'groupby_key2', '...'])
    gb.apply(lambda _df: _df.sort_values(by=['id'])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-01
      • 1970-01-01
      • 2020-05-07
      • 1970-01-01
      • 1970-01-01
      • 2012-06-06
      • 2017-05-08
      • 2012-07-06
      相关资源
      最近更新 更多