如果我有一个函数f
,我要将其应用于一组列多次,那么有没有更Pythonic的方法呢?目前,我的做法是这样的。
newdf=df.groupby(['a', 'b']).apply(lambda x: f(x, 1))
newdf.columns=['1']
newdf['2']=df.groupby(['a', 'b']).apply(lambda x: f(x, 2))
newdf['3']=df.groupby(['a', 'b']).apply(lambda x: f(x, 3))
newdf['4']=df.groupby(['a', 'b']).apply(lambda x: f(x, 4))
有没有更好的方法去做呢?
谢谢。
newdf = pd.concat(df.groupby(['a', 'b']).apply(lambda x: f(x, i)) for i in range(1, 5), axis=1)
。同时提供一个数据框示例会更有帮助。 - Jay Calamariapply
。 - rpanai