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

Kal*_*lik 3 python group-by numpy python-3.x pandas

我正在尝试对数据框中的数字列进行排序,但是获取此错误"id"列会在特定工作站中计算ID.例如2272,2202,1855等

df.sort_values(by=['id'])
Run Code Online (Sandbox Code Playgroud)

但是,我收到此错误:

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

Tht*_*htu 11

你试图DataFrameGroupBy对象调用一个方法.如果您的目标是在每个组中进行排序,则只需传递多个键by:

df作为一个数据帧,而不是GROUPBY对象...

df.sort_values(by=['groupby_key1', 'groupby_key2', '...', 'id'])
Run Code Online (Sandbox Code Playgroud)

如果你想在GROUP BY中进行排序,请作为错误信息提示和使用apply(与df作为一个数据帧而不是GROUPBY对象):

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