python - 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)
解决方案
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])
推荐阅读
- python-3.x - Flask Blueprint 在 __init__ 文件中尝试在应用程序上注册蓝图时返回 NameError
- css - Angular 7 - innerHTML - 从 DB 渲染 HTML 标签
- php - 从 Woocommerce 订单退款电子邮件中删除下载部分
- javascript - 按钮无法通过javascript点击
- android - 将 Android Lottie 动画与滚动对齐
- javascript - 在输入焦点上打开数字版本的 Windows 10 触摸键盘
- powershell - 让powershell运行下载的程序
- firebase - iOS:从 Google Analytics 切换到 Firebase Analytics 的问题
- java - 使用 Google Cloud Vision 人脸检测 API 时出错
- c# - 带有sql参数的sqlcommand c#方法