如何按值对df行进行排名?

时间:2017-04-10 23:57:21

标签: python dataframe row rank

df如下所示: Age, Sex...它们都是索引,只有一列名为Importance

                        Importance
Onset Delta               0.121048
Site of Onset - Limb      0.000036
Site of Onset - Bulbar    0.000382
Age                       0.008650
Sex                       0.000978
Race - Caucasian          0.001274
Race - Other              0.001776
Sodium_Dmax               0.007689

我想通过根据Importance对行进行排名来重新塑造df,我该怎么做? 我试过了

groupby(['Importance'],as_index=False)

但不行 谢谢

3 个答案:

答案 0 :(得分:1)

使用sort_values功能:

test = df.sort_values('Importance')

假设df是数据框

答案 1 :(得分:1)

如果您的数据结构是数据框,则可以使用sort函数:

df.sort(['Importance'],ascending=True) or 
df.sort(['Importance'],ascending=False)

“True”或“False”取决于您的选项,它表示您的数据按降序或升序列出。

答案 2 :(得分:0)

如果您希望对数据进行汇总,则会使用

df.groupby(),您要查找的内容为df.sort_values()

使用df.sort_values(),您传递by字符串,告诉pandas要排序的列。

对于您的代码,我希望df.sort_values(by='Importance')

您可以将结果分配给新数据框,或者传入inplace=true参数来对df进行排序。

您可以查看df.sort_values()方法here

的文档