熊猫数据框列表的按元素平均值

时间:2019-10-21 11:14:35

标签: python pandas dataframe

是否存在一种规范的方法来计算具有相同列和索引的DataFrame列表的逐元素均值?

我能想到的最好的方法是

from functools import reduce

dfs = [df1, df2, df3, df4, df5]  
reduce(lambda x, y: x.add(y), dfs) / len(dfs)

1 个答案:

答案 0 :(得分:1)

每个索引值将meanconcat一起使用:

df1 = pd.DataFrame({
         'C':[7,8,9],
         'D':[1,3,5],

})
df2 = pd.DataFrame({
         'C':[4,2,3],
         'D':[7,1,0],

})
df3 = pd.DataFrame({
         'C':[9,4,2],
         'D':[1,7,1],

})

from functools import reduce

dfs = [df1, df2, df3]  
df = reduce(lambda x, y: x.add(y), dfs) / len(dfs)
print (df)
          C         D
0  6.666667  3.000000
1  4.666667  3.666667
2  4.666667  2.000000

df = pd.concat(dfs).mean(level=0)
print (df)
          C         D
0  6.666667  3.000000
1  4.666667  3.666667
2  4.666667  2.000000