我有一个数据框,其中有一列“名称”。名称具有多个值,例如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
答案 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中输入列名