我是python的新手。我有一百个数据框。 我的数据如下:
Test1.csv
Test2.csv
Test3.csv
所有文件的结构化数据均相同。例如:
a.set_index('OD', inplace=True)
a
OD B1 B2 B3
B1 1 1 1
B2 1 1 1
B3 1 1 1
b.set_index('OD', inplace=True)
b
OD B1 B2 B3
B1 2 2 2
B2 2 2 2
B3 2 2 2
c.set_index('OD', inplace=True)
c
OD B1 B2 B3
B1 3 3 3
B2 3 3 3
B3 3 3 3
d = a + b + c
d
OD B1 B2 B3
B1 6 6 6
B2 6 6 6
B3 6 6 6
如何使用以下方式以多种方式优雅地计算add
:
files = glob.glob("test*.csv")
for f in files:
df = pd.read_csv(f)
df.set_index('OD', inplace=True)
答案 0 :(得分:1)
我先做concat
然后做sum
pd.concat([pd.read_csv(f,index_col=0) for f in files] ).sum(level=0)
或
import functools
import operator
functools.reduce(operator.add,[pd.read_csv(f,index_col=0) for f in files])