用法:
DataFrame.rank(axis=0, method='average', numeric_only=NoDefault.no_default, na_option='keep', ascending=True, pct=False)
沿轴计算数值数据等级(1 到 n)。
默认情况下,为相等的值分配一个排名,该排名是这些值排名的平均值。
- axis:{0 或 ‘index’,1 或 ‘columns’},默认 0
直接排名的索引。
- method:{‘average’, ‘min’, ‘max’, ‘first’, ‘dense’},默认 ‘average’
如何对具有相同值(即平局)的记录组进行排名:
平均:组的平均排名
min:组中最低的排名
max:组中最高的排名
第一个:按照它们在数组中出现的顺序分配的等级
密集:类似于‘min’,但组间排名总是增加 1。
- numeric_only:布尔型,可选
对于 DataFrame 对象,如果设置为 True,则仅对数字列进行排名。
- na_option:{‘keep’, ‘top’, ‘bottom’},默认 ‘keep’
如何对 NaN 值进行排名:
保持:将 NaN 等级分配给 NaN 值
顶部:将最低等级分配给 NaN 值
底部:将最高等级分配给 NaN 值
- ascending:布尔值,默认为真
元素是否应按升序排列。
- pct:布尔值,默认为 False
是否以百分位形式显示返回的排名。
- 与调用者相同的类型
返回以数据等级为值的系列或数据帧。
参数:
返回:
例子:
>>> df = pd.DataFrame(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’ and ‘dog’ 都在第 2 和第 3 位,因此分配 3 位。)NA_bottom:choosing
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
相关用法
- Python pandas.DataFrame.radd用法及代码示例
- Python pandas.DataFrame.rename用法及代码示例
- Python pandas.DataFrame.rename_axis用法及代码示例
- Python pandas.DataFrame.reset_index用法及代码示例
- Python pandas.DataFrame.rolling用法及代码示例
- Python pandas.DataFrame.reorder_levels用法及代码示例
- Python pandas.DataFrame.replace用法及代码示例
- Python pandas.DataFrame.round用法及代码示例
- Python pandas.DataFrame.rdiv用法及代码示例
- Python pandas.DataFrame.rtruediv用法及代码示例
- Python pandas.DataFrame.rmod用法及代码示例
- Python pandas.DataFrame.resample用法及代码示例
- Python pandas.DataFrame.rsub用法及代码示例
- Python pandas.DataFrame.rpow用法及代码示例
- Python pandas.DataFrame.reindex用法及代码示例
- Python pandas.DataFrame.rfloordiv用法及代码示例
- Python pandas.DataFrame.rmul用法及代码示例
- Python pandas.DataFrame.reindex_like用法及代码示例
- Python pandas.DataFrame.ewm用法及代码示例
- Python pandas.DataFrame.dot用法及代码示例
注:本文由纯净天空筛选整理自pandas.pydata.org大神的英文原创作品 pandas.DataFrame.rank。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。