网上有一些解决方案:

1:使用apply 的参数result_type 来处理

2:使用zip打包返回结果来处理

具体方法在这里:pandas 的apply返回多列,并赋值 - 简书

还有一种思路比较简单直接:

def func(df):
    return 0, 1, 2
    
df= df.groupby('time').apply(func)
df_res= pd.DataFrame([list(i) for i in df.values], columns=['a', 'b', 'c'])

这里主要用到的就是[list(i) for i in df.values]这句话,把tuple里面的数取了出来。

更多推荐