如何根据另一列中的值编辑列?

时间:2019-02-12 13:37:48

标签: python pandas

我正在尝试在以下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'中执行这些行。)而且,如果这是一种干净的方法,该如何做在两列之间建立如上所述的连接

0 个答案:

没有答案