我有1个由未知数量的dfs组成的列表:
df具有相同的维度,具有相同的列名和相同的列值,并且顺序相同:
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'])
答案 0 :(得分:3)
每个索引值将mean
与concat
一起使用:
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
答案 1 :(得分:1)
首先连接数据帧,重置索引以将其用作分组键,然后计算所有列的均值。
leftMap
输出
pd.concat([df1, df2]).reset_index().groupby('index').mean()