小编rig*_*ere的帖子

Pandas - 根据多列进行分组并在组内排名

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

df = pd.DataFrame({'asset_id': [10,10, 10, 20, 20, 20], 'method_id': ['p2','p3','p4', 'p3', 'p1', 'p2'], 'method_rank': [5, 2, 2, 2, 5, 1], 'conf_score': [0.8, 0.6, 0.8, 0.9, 0.7, 0.5]} , columns= ['asset_id', 'method_id','method_rank', 'conf_score']) 
Run Code Online (Sandbox Code Playgroud)

它看起来像这样:

   asset_id method_id  method_rank  conf_score
0    10        p2          5         0.8
1    10        p3          2         0.6
2    10        p4          2         0.8
3    20        p3          2         0.9
4    20        p1          5         0.7
5    20        p2          1         0.5
Run Code Online (Sandbox Code Playgroud)

我想按资产 ID 对行进行分组,然后根据method_rank升序和conf_score降序为每行提供总体排名。

IE。我希望结果看起来像这样:

  asset_id method_id  method_rank  conf_score …
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas

5
推荐指数
1
解决办法
4911
查看次数

标签 统计

dataframe ×1

pandas ×1

python ×1