У меня есть датафрейм, который выглядит так
df1
v w x y
4 0 1 a b
5 0 1 a a
_________________
6 0 2 a b
_________________
2 0 3 a b
- - - - - - - - -
3 1 2 a b
_________________
15 1 3 a b
12 1 3 b b
_________________
13 1 1 a b
- - - - - - - - -
15 3 1 a b
14 3 1 b a
8 3 1 a b
9 3 1 a a
, поэтому df1 были сгруппированы (строки) по v и w и объединены с другим df, содержащим x и y. Мне нужен новый столбец z, который выбирает правую группу из x и y со следующими условиями:
- в каждой подгруппе 'V' (пунктирная линия) первая группа должна иметь значение 'x' ( x всегда начинается с 'a' внутри группы, y всегда начинается с 'b')
- в зависимости от конечной буквы каждой группы (a или b), следующая группа должна начинаться с b (column'y ') или (столбец 'x')
- , если обе группы заканчиваются одной и той же буквой, выберите следующую группу из 'x'
Должно выглядеть следующим образом:
df1
v w x y z
4 0 1 a b a
5 0 1 a a a
_____________________
6 0 2 a b b
_____________________
2 0 3 a b a
- - - - - - - - - -- -
3 1 2 a b a
_____________________
15 1 3 a b b
12 1 3 b b b
_____________________
13 1 1 a b a
- - - - - - - - - -
15 3 1 a b a
14 3 1 b a b
8 3 1 a b a
9 3 1 a a a
поэтому последняя буква группы и первая буква следующей группы в подгруппах 'v' должны быть разными. Это понятно и кто-нибудь может мне помочь?