Панды объединяют два ряда с условием - PullRequest
0 голосов
/ 11 октября 2018

Интересно, есть ли способ группировки строк, тогда условные группы агрегирования.Спасибо
, например, для colA это A, для второго A нужно установить colB для test1 и суммировать colC

colA colB colC
A   test1  5
A   None   6
B   test1  4
C   test1  5
C   test3  4
D   test4  5
D   None   4

ожидаемый результат

colA colB colC
A   test1  11
B   test1  4
C   test1  5
C   test3  4
D   test4  9

1 Ответ

0 голосов
/ 11 октября 2018

IIUC, Вы можете использовать groupby и заполнить, а затем снова group и sum

df['colB'] = df.groupby('colA').colB.ffill().bfill()
df.groupby(['colA','colB'], as_index = False).sum()

    colA    colB    colC
0   A       test1   11
1   B       test1   4
2   C       test1   5
3   C       test3   4
4   D       test4   9
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...