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

时间:2018-08-09 20:53:54

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

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

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

但是,我遇到此错误:

  

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

1 个答案:

答案 0 :(得分:7)

您正试图从DataFrame对象调用GroupBy方法。如果您的目标是在每个组中进行排序,则只需在by中传递多个键:

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

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

如果要在分组依据中进行排序,请按照错误消息的建议进行操作,并使用apply(将df作为 dataframe 而不是groupby对象):

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