为避免concat将所有数据转换为 numpy 数组并使用meanby axis=0,最后将输出转换为DataFrame构造函数:
df1 = pd.DataFrame({
         'A':[4,5,4],
         'B':[7,8,90],
})
df2 = pd.DataFrame({
         'A':[4,50,4],
         'B':[7,8,9],
})
df3 = pd.DataFrame({
         'A':[40,5,4],
         'B':[7,8,9],
})
print ((df1+df2+df3)/3)
      A     B
0  16.0   7.0
1  20.0   8.0
2   4.0  36.0
dfs = [df1, df2, df3]
df = pd.DataFrame(np.array([x.to_numpy() for x in dfs]).mean(axis=0), 
                  index=df1.index, 
                  columns=df1.columns)
print (df)
      A     B
0  16.0   7.0
1  20.0   8.0
2   4.0  36.0
对于较旧的熊猫版本更改DataFrame.to_numpy为DataFrame.values:
df = pd.DataFrame(np.array([x.values for x in dfs]).mean(axis=0), 
                  index=df1.index, 
                  columns=df1.columns)