pandas.groupbyでaggに自作関数を渡す、要素にnumpy.arrayを使う。
import pandas as pd import numpy as np def g(x): y = None for i, a in x.iteritems(): if y is None: y = a.copy() else: y += a return Foo(y) class Foo: def __init__(self, x): self.x = x def __str__(self): return str(self.x) if __name__ == '__main__': df = pd.DataFrame({'a': [1, 1, 2], 'b': [np.array([1, 2]), np.array([1, 2]), np.array([1, 2])]}) x = df.groupby('a').agg({'b': g}) print(repr(x)) print(repr(df))