为避免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
Run Code Online (Sandbox Code Playgroud)
对于较旧的熊猫版本更改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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
107 次 |
| 最近记录: |