data frame.rank (self :至 ~FrameOrSeries,axis=0,method: str='average ',numeric_only: Union[bool,nool,ne ]
计算沿轴的数值数据级别(1到n )。
默认情况下,将等级分配给相等的值。 此等级是这些值的等级的平均值。
参数: axis:{0或' index ',1或' columns'},默认值0
直接排名的索引。
method:{'average "、" min "、" max "、" first "、" dense'} "、
默认值为“平均值”
如何对具有相同值或ties的记录组进行排名:
1 ) average )组平均秩
2 ) min )人群中排名最低
3 ) max )组中最高级别
4 ) first :按排列顺序排列,按顺序排列
5 ) dense ),与‘min’相似,但组间序列总是上升1
numeric_only:bool,选项
对于DataFrame对象,如果设置为True,则为、
只对数字列进行排名。
na_option:{'keep "、" top "、" bottom'} "、
默认值为“keep”
如何对NaN值进行排名:
1 ) keep )将NaN等级分配给NaN值
2 ) top )升序时,将最小等级分配给NaN值
3 ) bottom )升序时,将最高等级分配给NaN值。
ascending:bool,默认值为True
是否应该按照升序排列要素。
pct:bool,默认为False
是否以百分比显示返回的排名。
返回值:与调用者类型相同
返回以数据级别为值的Series或DataFrame。
示例df=PD.data frame (data={ ' animal ' : [ ' cat ',' penguin ',' dog ',
. ' spider ',' snake'] ' ',
. ' number _ legs ' : [ 4,2,4,8,np.nan]} )
df
Animal Number_legs
0 cat 4.0
1 penguin 2.0
2 dog 4.0
3 spider 8.0
4 snake NaN
以下示例说明如何使用上述参数的行为。
default_rank :这是不使用参数获得的缺省行为。
如果max_rank:method='max '设置具有相同值的记录,则排名最高。 例如,由于“cat”和“dog”都位于第二个和第三个位置,因此将指定rank 3。 ) )
选择na_bottom:na_option='bottom ',将具有NaN值的记录(如果存在)置于等级底部。
pct _ rank :如果设置为pct=true,则排名将以百分比级别显示。
df [ ' default _ rank ' ]=df [ ' number _ legs ' ].rank (
df [ ' max _ rank ' ]=df [ ' number _ legs ' ].rank (method=' max ' )
df [ ' na _ bottom ' ]=df [ ' number _ legs ' ].rank (na _ option=' bottom ' )
df [ ' pct _ rank ' ]=df [ ' number _ legs ' ].rank (pct=true )
df
animal number _ legs default _ rank max _ rank na _ bottom pct _ rank
0 cat 4.0 2.5 3.0 2.5 0.625
1 penguin 2.0 1.0 1.0 1.0 0.250
2 dog 4.0 2.5 3.0 2.5 0.625
3 spider 8.0 4.0 4.0 4.0 1.000
4 snake NaN NaN NaN 5.0 NaN