我正在尝试在以下DataFrame上应用特定方法。
movie_id 1 2 5 6 7 10 12 13 borda rank
0 1 5 4 4 4 0 4 0 3 24 1
1 2 3 0 3 0 0 0 0 3 9 3
2 3 4 0 0 0 0 0 0 0 4 4
3 4 3 0 0 0 5 4 5 5 22 2
4 5 3 0 0 0 0 0 0 1 4 4
我需要多次迭代该方法。每次我必须根据列'rank'
删除排名最高的行。值越小,排名越高。而且排名可能会在每次迭代中发生变化。
我的目标是删除排名最高的行,并将该方法应用于其余行。我的想法是将'movie_id'
和'rank'
的值转换为list
作为实现该方法的标志。
例如,在'movie_id'
的第一次迭代列表 X 和'ranking'
的 t 之前是:[1, 2, 3, 4, 5]
和{{ 1}}。
假设第一次迭代后[1, 3, 4, 2, 4]
中的排名变为'rank'
,则 t1 = [2, 3, 4, 1, 4]
, X1 = {{ 1}}。 t1 和 X1 然后进入下一个迭代。假设 t2 = [2, 3, 4, 1, 4]
, X2 = [1, 2, 3, 5]
(由于[2, 3, 4, 1, 4]
中的第一个最高排名已删除,因此我们删除了第二个最高排名第一)。我需要像这样在两列之间建立连接。
我的问题是:是否可以将[2, 3, 5]
用作方法实现的标志? (即告诉该方法,我只想在'movie_id'
list
,'movie_id'
和'2'
中执行这些行。)而且,如果这是一种干净的方法,该如何做在两列之间建立如上所述的连接