熊猫中的groupby和函数调用

时间:2018-11-21 10:34:58

标签: python python-3.x pandas

我有一个数据框,其中有一列“名称”。名称具有多个值,例如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 :(得分:2)

好像您想要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)

编辑:对于此用例,亚历山大·尼克松的答案更好。

答案 1 :(得分:0)

Df.groupby('Name').apply(lambda x: function (x.value))

这将起作用,您可以在x.value中输入列名