Есть ли способ, которым я могу использовать groupby.sum и сохранить другие столбцы? - PullRequest
0 голосов
/ 10 января 2020

Допустим, у меня есть текстовый файл ~ 40 столбцов, и мне нужно удалить дубликаты / группу, используя 5 столбцов, например

0    1    2    3    4      5     6
a    b    c    d    123    5     h
r    b    c    d    123    15    0
a    b    c    d    456    12    v
g    h    c    t    456    4     h

Я хочу groupby или df.drop_duplicates()

df = df.groupby([1,2,4])[5].sum().reset_index()

так что результат будет похож на

1   2   4     5
b   c   123   20
b   c   456   12
h   c   456   4

Есть ли способ, что я получаю другие столбцы в эти данные результата, потому что они не нужны как groupby условие?

1 Ответ

1 голос
/ 10 января 2020

Вы можете разделить по столбцам, сохраняя другие столбцы, используя преобразование:

df['sum'] = df.groupby([1,2,4])[5].transform(sum)

Это просто добавит столбец с агрегацией на уровне группировки для всех строк в исходном кадре данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...