Python 在df.groupby().agg()中表达所需操作的泛化方式

Python 在df.groupby().agg()中表达所需操作的泛化方式,python,pandas,dataframe,Python,Pandas,Dataframe,这个问题可能与pandas无关,但我不确定python在函数作为参数传递给另一个函数时是如何处理的 无论如何,请遵守以下准则的意图,问题是三重引用: import pandas as pd import numpy as np """given:""" df = pd.DataFrame( { 'a': [100]*2+[200]*2, 'b': np.arange(11,55,11), } ) gb = df.groupby('a', as_i

这个问题可能与pandas无关,但我不确定python在函数作为参数传递给另一个函数时是如何处理的

无论如何,请遵守以下准则的意图,问题是三重引用:

import pandas as pd
import numpy as np

"""given:"""
df = pd.DataFrame(
    {
        'a': [100]*2+[200]*2,
        'b': np.arange(11,55,11),
    }
)
gb = df.groupby('a', as_index=0)

"""what's the pandanic way of writing the following working code:"""
gb.agg( {'b': lambda sr: sr.iat[0]})

def foo(sr, arg):
    return sr.sum() + arg
gb.agg( {'b': lambda sr: foo(sr, 888)} )

"""into the following pseudo, but not working, code:"""
gb.agg( {'b': iat[0]} )
gb.agg( {'b': foo( ,888)} )

n次

gb.nth(0)
Out[503]: 
     a   b
0  100  11
2  200  33

我不确定这是否重复,因为除了第一行之外还有一个
sum()
操作。