按列分组,对另一列进行排序,然后为python中的行分配等级

rshar

我在熊猫中有以下数据框的“分数”。

identifier  name             score
D29650  abc10   115369-52-3  0.75
D29650  abc10   115369-52-4  0.34
D29651  abc11   115369-52-5  0.25
D29651  abc11   ls-132190    0.67
D29652  abc12   me1228           1.0
D29652  abc12   me 1228          0.875

我想对每个标识符中的分数列进行排序,并为每个条目分配一个等级。我正在使用以下命令来做到这一点,但不确定如何给排名。

score_new=scores.groupby(['identifier'],as_index=False).apply(lambda x:x.sort_values(by='score',ascending=False)).reset_index(drop=True)

所需的输出是:

identifier  name             score  rank
D29650  abc10   115369-52-3  0.75   1
D29650  abc10   115369-52-4  0.34   2
D29651  abc11   ls-132190    0.67   1
D29651  abc11   115369-52-5  0.25   2 
D29652  abc12   me1228           1.0    1
D29652  abc12   me 1228          0.875  2

Anh的帮助在这里受到高度赞赏

Subasri Sridhar

采用:

df['rank']=df.groupby('identifier')['score'].rank(ascending=False).astype('int32')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Excel-按列对行进行分组,然后按另一列进行排序

在Pandas Dataframe中按一列排序,然后按另一列分组?

根据一列的相同值进行分组和排序,然后对这些组中的另一列进行排序

使用差异对列进行分组并在熊猫中按另一列对另一列进行排序

对一列进行分组,然后从另一列中查找重复项,然后在Python中返回指示

按一列的值排序,使行按另一列的值分组

按多列排序,按另一列分组

在熊猫中对列进行排序,然后在保持上一列排序的同时对另一列进行排序

创建直方图,按列分组,然后按R中的另一列求和

根据列表对列进行排序,然后对数据框中的另一列进行排序

Python按一列分组,然后按日期数据类型的另一列中的“月份”分组

按多列分组,根据一列排序,然后选择 R 中的前 n 个

按一列排序,然后按另一列排序

熊猫按另一列中的值对一列进行排序

按列分组,然后在Rails中获得另一列的总和

按一列分组,然后对另一值列求和,对行进行计数,然后计算R中每个值的百分比

按一列将Pandas数据框分组,然后根据另一列删除行

按多列分组并从R中的另一列分配值

如何对 Dataframe 中的 2 列进行排序,一列按降序排序,另一列按对应于第一列的字母顺序排序

仅使用标准库,按另一列的分组值中的一列的累积总数对文本文件进行排序?

按列分组并按R中的另一列排序

熊猫如何在分组到另一列时按分组大小对分组依据进行排序

按一列分组,然后在熊猫中查找另一列的总和和最大值

MySQL,对一列应用一个函数,然后为每一行更新另一列

Python (pandas) - 如何对一列中的值进行分组,然后根据另一列中的值删除或保留该组

Pyspark,按一列中的唯一值对另一列中的特定值进行分组

按变量分组,排序和打印另一列中的值

如何在1列上对表进行排序,然后在PHP中对另一列进行排序

按一列分组以根据另一列分配分位数