pandas排名(rank)函数讲解

有人存在的地方,就有江湖,有江湖的地方,就会存在排名。那么pandas排名函数rank,你知道怎么使用吗?

话不多说,举例如下:

import pandas as pd

a = pd.Series([1,2,2,2,3,5,6,3,4])

rank_a = pd.DataFrame()

rank_a['base'] = a

rank_a['average'] = a.rank(method='average')

rank_a['min'] = a.rank(method='min')

rank_a['first'] = a.rank(method='first')

rank_a['max'] = a.rank(method='max')

rank_a['dense'] = a.rank(method='dense')
rank_a

具体讲解排名函数rank中method的用法:

1)‘average’:默认,在每个组中分配平均排名(组,相同的值就是一个组,下同)

2)‘min’:对整个组使用最小排名

3)‘max’:对整个组使用最大排名

4)‘first’:按照值在数据中出现的次序分配排名

5)‘dense’:类似于‘min’,但是组间排名总是增加1,而不是一个组中的相等元素的数量(min列没有排名4,而dense列有排名4,rockyliu最爱的模式,可以进一步延申出名次并列数量分布状况哟)

好了,各位知道如何给各位江湖豪杰排名了吧。

  • 8
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
Pandas中的`rank()`函数用于对DataFrame或Series中的数据进行排名。它可以根据指定的排序规则对数据进行排名,并返回一个新的排名序列。 `rank()`函数的基本语法如下: ```python pandas.Series.rank(method='average', ascending=True, na_option='keep', gap=0) pandas.DataFrame.rank(method='average', subset=None, axis=0, na_option='keep', gap) ``` 参数说明: * `method`:可选参数,用于指定排名的方式。默认值为'average',表示平均排名。其他可选值包括'min'(最小值排名)、'max'(最大值排名)、'dense'(等差排名,类似于Excel中的常规排名)等。 * `ascending`:可选参数,用于指定是否按照升序排列进行排名。默认值为True,表示按照升序排列进行排名。如果设置为False,则按照降序排列进行排名。 * `na_option`:可选参数,用于指定如何处理缺失值(NaN)。默认值为'keep',表示保留缺失值的位置。其他可选值包括'drop'(忽略缺失值的位置)和'nsmall+nlarge'(根据缺失值的位置选择不同的排名方式)。 * `gap`:可选参数,用于指定相邻排名之间的间隔。默认值为0,表示相邻排名之间没有间隔。 使用示例: 假设我们有一个包含数值的DataFrame,我们想要按照升序排列对其进行排名: ```python import pandas as pd data = {'name': ['Alice', 'Bob', 'Charlie', 'David'], 'score': [85, 90, 70, 95]} df = pd.DataFrame(data) # 对score列进行升序排名 df['score_rank'] = df['score'].rank(ascending=True) print(df) ``` 输出结果为: ```python name score score_rank 0 Alice 85 3.0 1 Bob 90 2.0 2 Charlie 70 1.0 3 David 95 4.0 ``` 可以看到,`rank()`函数按照升序排列对分数进行了排名,并返回了一个新的列`score_rank`。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值