df_have
A B C
1 1 10
1 1 10
1 2 5
1 3 6
1 4 7
df_want
A B C D
1 1 10 20
1 1 10 20
1 2 5 5
1 3 6 6
1 4 7 7
Попытка сгруппировать по столбцу A, B, только если столбец B равен 1 или 2. Если B равен 1 или 2, то вывести столбец Dкак СУММА столбца C. Иначе оставьте установленным столбец D = столбец C.
Пример кода дает ошибку:
df_want['D']=np.where((df_want['B'].isin([1,2]),
df_want['A','B'].map(df_want.groupby(['A','B'])['C'].sum()),
df_want['C'])
Проблема возникает здесь: df_want ['A', 'B'] .map .. если я только поставлю df_want.A.map, то код выполняется, но вывод неправильный.Мне нужно это только для отображения суммы, если столбец B равен 1 или 2