групповой и функциональный вызов в пандах - PullRequest
0 голосов
/ 21 ноября 2018

У меня есть датафрейм, где у меня есть столбец «Имя».Имя имеет кратные значения, такие как sample1, sample2, sample3.Я хочу применить функцию ко всем тем группам, в которых значение в столбце Имя одинаково.

Вывод:

   Name  Value  Result
0  Name1      2       5
1  Name1      3       5
2  Name2      1      11
3  Name2      4      11
4  Name2      6      11
5  Name3      8      10
6  Name3      2      10

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018
Df.groupby('Name').apply(lambda x: function (x.value))

Будет работать, в x.value вы можете поставить название вашего столбца

0 голосов
/ 21 ноября 2018

Похоже, вы хотите groupby.apply.Что-то вроде этого должно работать:

import pandas as pd

df = # ... load your data

def group_sum(g):
    g["Result"] = g["Value"].sum()
    return g

df_grouped = df.groupby("Name").apply(group_sum)

Редактировать: ответ Александра Никсона лучше для этого варианта использования.

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