按列总和对熊猫数据框进行排序

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_valuestail。我就是不能锻炼怎么办

Qua*_*ang 5

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)