One option is to explicitly create the desired aggregations:
theSum = df1.A + df1.B theAverage = (df1.A + df1.B + df2.C + df3.D) / 4. theProduct = df1.B * df2.C * df3.D theResult = pd.concat([theSum, theAverage, theProduct]) theResult.columns = ['Sum', 'Average', 'Product']
Another possibility is to use query , but it really depends on your use case and how you are going to collect your data. Here is an example for documents that may be applicable to you.
map(lambda frame: frame.query(expr), [df, df2])
source share