【发布时间】:2017-11-05 00:23:00
【问题描述】:
我很难将自定义函数应用于 Pandas 中的每组 groupby 列
我的自定义函数采用一系列数字并采用连续对的差值并返回所有差值的平均值。下面是代码
def mean_gap(a):
b = []
for i in range(0, len(a)-1):
b.append((a[i+1]-a[i]))
return np.mean(b)
所以如果 a = [1,3,7] mean_gap(a) 会给我 ((3-1)+(7-3))/2) = 3.0
Dataframe:
one two
a 1
a 3
a 7
b 8
b 9
desired result
Dataframe:
one two
a 3
b 1
df.groupby(['one'])['two'].???
我是熊猫新手。我读到 groupby 一次取每一行的值,而不是完整的系列。所以我不能在 groupby 之后使用 lambda。请帮忙!
【问题讨论】:
-
和问题无关,但是这个函数不就是把最后一个元素减去第一个元素除以n-1吗?
标签: python pandas numpy group-by