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”索引之外的数据框进行排序。
尝试以下代码通过排除“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)