首页 > 解决方案 > Glob.glob 多个数据框来计算添加熊猫

问题描述

我是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)

标签: pythonpandas

解决方案


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])

推荐阅读