Python Glob.Glob用于计算外接程序的多个数据帧
我是python的新手。我有一百个数据帧。 我的数据如下所示:Python Glob.Glob用于计算外接程序的多个数据帧,python,pandas,Python,Pandas,我是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
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
如何优雅地计算添加多个数据帧,使用:
files = glob.glob("test*.csv")
for f in files:
df = pd.read_csv(f)
df.set_index('OD', inplace=True)
我会做concat
然后sum
pd.concat([pd.read_csv(f,index_col=0) for f in files] ).sum(level=0)
或
非常感谢你。如何考虑OD COL作为一个指标?因为OD col乘以了示例B1B1
import functools
import operator
functools.reduce(operator.add,[pd.read_csv(f,index_col=0) for f in files])