【发布时间】:2021-02-03 06:11:49
【问题描述】:
我有几个 excel 文件,其中的数据格式与此类似
csv1 csv1
a b c a b c
x 1 2 3 x 3 2 1
y 4 5 6 y 6 5 4
总共有 3 个 csv,我需要用每个单元格的平均值创建一个新的 csv。
所以csv3 如下
a b c
x (3+1)/2) (2+2)/2 (3+1)/2
y (6+4)/2 etc.
到目前为止,我已经导入了文件,但我不确定如何继续。
import pandas as pd
def Averager(fileA,fileB,fileC):
csvA=pd.read_csv(fileA)
csvB=pd.read_csv(fileB)
csvC=pd.read_csv(fileC)
g=pd.concat([csvA, csvB, csvC]).groupby(level=0).mean()
print(g)
print(Averager('a.csv','b.csv','c.csv'))
【问题讨论】:
-
你提到你有一个 Excel 工作簿,然后你提到你有 csvs - 是什么?您可以使用
openpyxl和pandas导入 Excel 工作簿,因此您不需要中间 csv,仅供参考。 -
df1.add(df2)/2怎么样。或者,在您的情况下:(csvA+csvB+csvC)/3- 提供所有 DataFrame 的形状相同,如示例所示。 -
谢谢@S3DEV,成功了!
标签: python pandas numpy dataframe csv