首页 > 解决方案 > 使用其他 dfs 的平均值获取新的 df

问题描述

我有 1 个由未知数量的 dfs 组成的列表:

dfs 具有相同的维度,具有相同的列名和相同的列值,顺序相同:

df1=pd.DataFrame(data=np.transpose([[1,2,3,4],[2,4,6,8]]),index=['A','B','C','D'],columns=['x','y'])
df2=pd.DataFrame(data=np.transpose([[3,3,3,3],[4,4,4,4]]),index=['A','B','C','D'],columns=['x','y'])

我想将 n dfs 的值分组到一个新的 df 中,这些值是 n dfs 值的平均值

输出

df2=pd.DataFrame(data=np.transpose([[2,2.5,3,3.5],[3,4,5,6]]),index=['A','B','C','D'],columns=['x','y'])

标签: pandas

解决方案


concatmean每个索引值一起使用:

print (pd.concat([df1, df2]).mean(level=0))
     x    y
A  2.0  3.0
B  2.5  4.0
C  3.0  5.0
D  3.5  6.0

推荐阅读