Python-除一个索引外如何排序

shi*_*020 2 python sorting pandas

columns=['NAME', 'AB', 'H']
import pandas as pd
df = pd.DataFrame([['Harper', '10', '5'], ['Trout', '10', '5'], ['Ohtani', '10', '5'], ['TOTAL', '30', '15']], columns=columns)
df1 = df.sort_values(by='NAME') 
print(df1)
Run Code Online (Sandbox Code Playgroud)

结果是

     NAME  AB   H

0  Harper  10   5
2  Ohtani  10   5
3   TOTAL  30  15
1   Trout  10   5
Run Code Online (Sandbox Code Playgroud)

我想对除“TOTAL”索引之外的数据框进行排序。

R.y*_*yan 5

尝试以下代码通过排除“Total”按“NAME”对 df 进行排序:

df1 = df[df.NAME!='TOTAL'].sort_values(by='NAME')
Run Code Online (Sandbox Code Playgroud)

输出:

     NAME  AB  H
0  Harper  10  5
2  Ohtani  10  5
1   Trout  10  5
Run Code Online (Sandbox Code Playgroud)

您可以在排序后追加“总计”:

df1 = df1.append(df[df.NAME=='TOTAL'])
Run Code Online (Sandbox Code Playgroud)

输出:

     NAME  AB   H
0  Harper  10   5
2  Ohtani  10   5
1   Trout  10   5
3   TOTAL  30  15
Run Code Online (Sandbox Code Playgroud)