Pandas:根据列的值对行进行排序

dea*_*bug 4 python python-3.x pandas

我有一个df这样的数据框:

ID    NAME    AGE
-----------------
M43   ab      32
M32   df      12
M54   gh      34
M43   ab      98
M43   ab      36
M43   cd      32
M32   cd      39
M43   ab      67
Run Code Online (Sandbox Code Playgroud)

我需要根据ID列对行进行排序。
输出df_grouped应如下所示:

ID    NAME    AGE
-----------------
M43   ab      32
M43   ab      98
M43   ab      36
M43   cd      32
M43   ab      67
M32   df      12
M32   cd      39
M54   gh      34
Run Code Online (Sandbox Code Playgroud)

我试过类似的东西:

df_grouped = df.group_by(df.ID)

for id in list(df.ID.unique()):
   grouped_df_list.append(df_grouped.get_group(id))
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点?

jpp*_*jpp 6

You can sort by multiple columns using pd.DataFrame.sort_values:

df = df.sort_values(['ID', 'NAME'])
Run Code Online (Sandbox Code Playgroud)

By default, the argument ascending is set to True.