У меня есть датафрейм с 3240 строками и 3 столбцами. Столбец Блок представляет блок, в котором появились значения в столбцах А и В. Уникальное количество блоков - 6, но они повторяются последовательно по всему кадру данных от 1 до 6. Значения в column A
повторяются в последовательностях exact order
от 1-10
во всем кадре данных (блоках). Значения в column B
существуют из a-j (n = 10)
, но они повторяются в random order
в последовательностях из a-j
, поэтому они никогда не дублируются внутри блока.
Таким образом, в каждом из 6 блоков значения в столбце A (1-10) повторяются в точном порядке от 1 до 10, а в столбце B значения (aj) повторяются в случайном порядке.
Df выглядит следующим образом:
Block A B ID
1 1 a XY
1 2 b XY
1 3 c XY
1 4 d XY
1 5 e XY
1 6 f XY
1 7 g XY
1 8 h XY
1 9 i XY
1 10 j XY
....
6 1 d XY
...
6 6 j XY
....
1 1 g XX
1 2 a XX
Во всем фрейме данных я хотел бы заменить все значения в столбце B на основе соответствующего значения в столбце A для каждого отдельного блока. Логика c будет означать замену значений в столбце B на основе значений в столбце A этим шаблоном 1 = 6, 2 = 7, 3 = 8, 4 = 9, 5 = 10. Результат будет выглядеть так:
Block A B ID
1 1 f XY
1 2 g XY
1 3 h XY
1 4 i XY
1 5 j XY
1 6 a XY
1 7 b XY
1 8 c XY
1 9 d XY
1 10 e XY
....
6 1 j XY
...
6 6 d XY
....
1 1 g XX
1 2 a XX
Что будет эффективным для этого?