pandas groupby 聚合期间如何访问组键?
How to access group keys during aggregation in pandas groupby?
有没有办法从聚合函数内部访问组键?例如,我们有以下数据框:
>>> df = pd.DataFrame({
'score' : [2,2,3,3,3],
'age' : [17,23,18,12,15]
})
>>> df
score age
0 2 17
1 2 23
2 3 18
3 3 12
4 3 15
然后做一些类似的事情
df.groupby('score').agg(
score_age = ('age', lambda x: x.groupkey + sum(x))
)
获得
score_age
score
2 42
3 48
显然x.groupkey
不起作用。访问它的正确语法是什么?我似乎无法在任何地方找到它。请帮忙。
使用:
df1 = df.groupby('score').agg(score_age = ('age', lambda x: x.name + x.sum()))
print (df1)
score_age
score
2 42
3 48
有没有办法从聚合函数内部访问组键?例如,我们有以下数据框:
>>> df = pd.DataFrame({
'score' : [2,2,3,3,3],
'age' : [17,23,18,12,15]
})
>>> df
score age
0 2 17
1 2 23
2 3 18
3 3 12
4 3 15
然后做一些类似的事情
df.groupby('score').agg(
score_age = ('age', lambda x: x.groupkey + sum(x))
)
获得
score_age
score
2 42
3 48
显然x.groupkey
不起作用。访问它的正确语法是什么?我似乎无法在任何地方找到它。请帮忙。
使用:
df1 = df.groupby('score').agg(score_age = ('age', lambda x: x.name + x.sum()))
print (df1)
score_age
score
2 42
3 48