如何在python中修改pandas中的秩

如何在python中修改pandas中的秩,python,pandas,Python,Pandas,我有一个熊猫数据框,如下所示 item x1 x2 x3 x4 x5 ratings item1 x x x x x 46 item1 x x x x x 32 item1 x x x x x 16 item1 x x x x x 6 item1 x x x x x 36 item1 x x x x x 36 item1 x x x x x 12 item1 x x x x x 1

我有一个熊猫数据框,如下所示

item   x1 x2 x3 x4 x5 ratings
item1   x  x  x  x  x  46
item1   x  x  x  x  x  32
item1   x  x  x  x  x  16
item1   x  x  x  x  x  6
item1   x  x  x  x  x  36
item1   x  x  x  x  x  36
item1   x  x  x  x  x  12
item1   x  x  x  x  x  13
item1   x  x  x  x  x  41
item1   x  x  x  x  x  42
item1   x  x  x  x  x  43
item1   x  x  x  x  x  3
item1   x  x  x  x  x  76
item1   x  x  x  x  x  36
item1   x  x  x  x  x  26
item1   x  x  x  x  x  12
item1   x  x  x  x  x  11
item1   x  x  x  x  x  88
item1   x  x  x  x  x  87
item1   x  x  x  x  x  78
item1   x  x  x  x  x  43
item1   x  x  x  x  x  42
现在,我想添加另一个列,其中包含
评级的
排名

我用它做得很好

df = df.assign(rankings=df.rank(ascending=False))
我想再次增加排名列,并在数据框中添加一个不同的列,如下所示

item   x1 x2 x3 x4 x5 ratings
item1   x  x  x  x  x  46
item1   x  x  x  x  x  32
item1   x  x  x  x  x  16
item1   x  x  x  x  x  6
item1   x  x  x  x  x  36
item1   x  x  x  x  x  36
item1   x  x  x  x  x  12
item1   x  x  x  x  x  13
item1   x  x  x  x  x  41
item1   x  x  x  x  x  42
item1   x  x  x  x  x  43
item1   x  x  x  x  x  3
item1   x  x  x  x  x  76
item1   x  x  x  x  x  36
item1   x  x  x  x  x  26
item1   x  x  x  x  x  12
item1   x  x  x  x  x  11
item1   x  x  x  x  x  88
item1   x  x  x  x  x  87
item1   x  x  x  x  x  78
item1   x  x  x  x  x  43
item1   x  x  x  x  x  42
  • 排名从1到10-->获得排名
    1
  • 排名从11-20-->获得排名
    2
  • 排名从21-30-->获得排名
    3
  • 等等
有没有一种方法可以在python中的pandas中实现这一点


如果需要,我很乐意提供更多详细信息。

使用整数除以
10
并添加
1
,最后转换为整数:

df = df.assign(rankings=df['ratings'].rank(ascending=False))
df['new'] = (df['rankings'] // 10 + 1).astype(int)
print (df)
     item x1 x2 x3 x4 x5  ratings  rankings  new
0   item1  x  x  x  x  x       46       5.0    1
1   item1  x  x  x  x  x       32      14.0    2
2   item1  x  x  x  x  x       16      16.0    2
3   item1  x  x  x  x  x        6      21.0    3
4   item1  x  x  x  x  x       36      12.0    2
5   item1  x  x  x  x  x       36      12.0    2
6   item1  x  x  x  x  x       12      18.5    2
7   item1  x  x  x  x  x       13      17.0    2
8   item1  x  x  x  x  x       41      10.0    2
9   item1  x  x  x  x  x       42       8.5    1
10  item1  x  x  x  x  x       43       6.5    1
11  item1  x  x  x  x  x        3      22.0    3
12  item1  x  x  x  x  x       76       4.0    1
13  item1  x  x  x  x  x       36      12.0    2
14  item1  x  x  x  x  x       26      15.0    2
15  item1  x  x  x  x  x       12      18.5    2
16  item1  x  x  x  x  x       11      20.0    3
17  item1  x  x  x  x  x       88       1.0    1
18  item1  x  x  x  x  x       87       2.0    1
19  item1  x  x  x  x  x       78       3.0    1
20  item1  x  x  x  x  x       43       6.5    1
21  item1  x  x  x  x  x       42       8.5    1

非常感谢你的回答。不过,我想你误解了我的问题。我添加了一个基于
评级的
排名
函数。现在,我想将我的
排名转换为
排名1,2,3,4,5,6,7,8,9,10
获得
新排名=1
排名[11-20]
获得
新排名=2
排名[21-30]
获得
新排名=3
。你能告诉我如何在熊猫身上做到这一点吗。非常感谢:)