Lin*_*nda 5 python pandas pandas-groupby
如果我有一个函数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))
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来解决它?
谢谢,
你可以这样做:
pandas.DataFrame([df.groupby(['a','b']).apply(lambda x : f(x,i)) for i in range(1,5)])
Run Code Online (Sandbox Code Playgroud)
如果您希望与初始数据帧具有相同的列名称,则转置新的数据帧。
| 归档时间: |
|
| 查看次数: |
6614 次 |
| 最近记录: |