Группировка по счетчику после условного условия – PythonPython

Программы на Python
Ответить
Anonymous
 Группировка по счетчику после условного условия – Python

Сообщение Anonymous »

Я пытаюсь выполнить групповую сумму для определенного столбца в pandas df. Но я хочу выполнить count только после определенного порога. В этом примере это будет где B > 2.
Группировка находится на A, а счетчик — на C. Правильный вывод должен быть следующим:x = 3
y = 9
df = pd.DataFrame(dict(A=list('ababaa'), B=[1, 1, 3, 4, 5, 6], C=[9, 9, 0, 9, 1, 2]))

df.loc[(df['B'] > 2), 'Count'] = df.groupby('A')['C'].transform('sum')

df['Count'] = df['Count'].replace(np.NaN, 0).astype(int)

Выход:
A B C Count
0 x 1 9 0
1 y 1 9 0
2 x 3 0 12 *3
3 y 4 9 18 *9
4 x 5 1 12 *3
5 x 6 2 12 *3


Подробнее здесь: https://stackoverflow.com/questions/791 ... nal-python
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»