Добавление двух строк значений в один новый столбец на основе разных условий в строках в Python - PullRequest
0 голосов
/ 28 июня 2019

Я пытаюсь добавить значения в две строки с условием столбца значения <10.Я привел пример набора входных данных и желаемый результат ниже. </p>

Я пытался и работал, используя группирование и сдвиг.Тем не менее, я мог бы сдвинуться на один или два последовательных ряда.Строки были объединены на основе значения.

Я объединил данные на двух уровнях и создал четыре выходных столбца с одним столбцом с объединенными ячейками и другими столбцами с добавленным значением.

Набор входных данных (df)

    Index,S,T,M,N,Value
    1,S1,T1,M1,A,35
    2,S1,T1,M1,B,12
    3,S1,T1,M1,C,9
    4,S1,T2,M2,A,15
    5,S1,T2,M2,B,15
    6,S1,T2,M2,C,30
    7,S1,T3,M3,A,4
    8,S1,T3,M3,B,5
    9,S1,T3,M3,C,12
    10,S1,T4,M4,A,10
    11,S1,T4,M4,B,9
    12,S1,T4,M4,C,12
    13,S1,T4,M1,A,12
    14,S1,T4,M1,B,9
    15,S1,T4,M1,C,8

В приведенном выше примере набора данных, на уровне 1, я слился 2,3 / 7,8 / 10,11 / 14,15.Они должны быть одинаковыми значениями S, T и M.На втором уровне я выполнил тот же уровень слияния и привел к слиянию 2-го уровня.(объединено 9,8 в 7).

Выходной набор данных -

    Index,S,T,M,N,Value,Level1,Value 1,Level2,Value 2
    1,S1,T1,M1,A,35,A,35,A,35
    2,S1,T1,M1,B,12,B+C,21,B+C,21
    3,S1,T1,M1,C,9,B+C,0,B+C,0
    4,S1,T2,M2,A,15,A,15,A,15
    5,S1,T2,M2,B,15,B,15,B,15
    6,S1,T2,M2,C,30,C,30,C,30
    7,S1,T3,M3,A,4,A+B,9,A+B+C,21
    8,S1,T3,M3,B,5,A+B,0,A+B+C,0
    9,S1,T3,M3,C,12,C,12,A+B+C,0
    10,S1,T4,M4,A,10,A+B,19,A+B,19
    11,S1,T4,M4,B,9,A+B,0,A+B,0
    12,S1,T4,M4,C,12,C,12,C,12
    13,S1,T4,M1,A,12,A,12,A,12
    14,S1,T4,M1,B,9,C+B,17,C+B,17
    15,S1,T4,M1,C,8,C+B,0,C+B,0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...