所以我基本上有这个数据框:
,club_name,tr_begin,year,ranking
0,ADO Den Haag,1357,2010,6.0
1,ADO Den Haag,1480,2011,15.0
2,ADO Den Haag,1397,2012,9.0
3,ADO Den Haag,1384,2013,9.0
4,ADO Den Haag,1451,2014,13.0
我想做的是,我想遍历每个排名,并根据其值将它们放入一个类中。因此,排名为6的将进入第2类,排名1的将进入第1类。转换表如下:
if ranking > 0 and ranking =< 3:
rank_class = 1
if ranking > 3 and ranking =< 6:
rank_class = 2
etc etc etc
我希望这个数字能够以3的倍数增加,直到18为止。
所以我期望的输出结果是:
,club_name,tr_begin,year,ranking, ranking_class
0,ADO Den Haag,1357,2010,6.0, 2
1,ADO Den Haag,1480,2011,15.0, 5
2,ADO Den Haag,1397,2012,9.0, 3
3,ADO Den Haag,1384,2013,9.0, 3
4,ADO Den Haag,1451,2014,13.0, 5
我使用了掩码功能,通过创建一个新的数据框并合并来实现。这样做虽然有效,但看起来有点笨拙。是否有更简单的方法来做到这一点呢?
提前感谢您。
6.0
存储为6.00001
,那么这是否正确?也许我们需要先转换为int
,使用np.isclose
来确保我们得到正确的结果。 - jpp