bru*_*vio 3 python sorting dataframe pandas
我有一个看起来像这样的数据框
Australia Austria United Kingdom Vietnam
date
2020-01-30 9 0 1 2
2020-01-31 9 9 4 2
Run Code Online (Sandbox Code Playgroud)
我想创建一个新的数据框,其中包含列总和 > 4 的国家,我这样做了
df1 = df[[i for i in df.columns if int(df[i].sum()) > 4]]
Run Code Online (Sandbox Code Playgroud)
这给了我
Australia Austria United Kingdom
date
2020-01-30 9 0 1
2020-01-31 9 9 4
Run Code Online (Sandbox Code Playgroud)
我现在想根据列的总和对国家进行排序,而不是取前 2 个
Australia Austria
date
2020-01-30 9 0
2020-01-31 9 9
Run Code Online (Sandbox Code Playgroud)
我知道我必须使用sort_values和tail。我就是不能锻炼怎么办
IIUC,你可以这样做:
s = df.sum()
df[s.sort_values(ascending=False).index[:2]]
Run Code Online (Sandbox Code Playgroud)
输出:
Australia Austria
date
2020-01-30 9 0
2020-01-31 9 9
Run Code Online (Sandbox Code Playgroud)