核心用法
df-merger 是专为建筑行业设计的 pandas DataFrame 智能合并工具,解决 BIM、进度计划、成本数据库、传感器等多源数据整合难题。核心功能包括:
1. 智能键值匹配
- 自动检测跨表共同键(优先 ID/Code 类字段)
- 语义化列名匹配(如
elementid/elem_id/guid映射到统一element_id) - 80% 相似度阈值的模糊字符串匹配
2. Schema 协调
- 内置建筑行业标准列名映射表(10+ 类:level/material/volume/cost/task_id 等)
harmonize_columns()自动标准化列名- 支持 LEFT/RIGHT/INNER/OUTER/CROSS 多种合并策略
3. 专用合并器
BIMScheduleMerger:BIM 构件与进度活动模糊匹配(60% 阈值)CostQTOMerger:成本单价与工程量清单整合,自动计算 extended_cost
4. 质量评估
MergeResult返回匹配行数、仅左/右侧行数、0-1 质量评分
显著优点
- 垂直场景深度:针对建筑数据特点(GUID、WBS、Type Name 等)优化,非通用工具的简单包装
- 容错性强:模糊匹配和数据清洗降低对上游数据质量的严苛要求
- 可扩展架构:继承基类可快速定制新的专业合并器
潜在局限
- 模糊匹配风险:60-80% 阈值可能产生误匹配,关键业务需人工校验
- Python 依赖:需 pandas/numpy,大表性能受内存限制
- 无实时能力:批处理设计,不支持流式数据合并
- 文档待完善:BIMScheduleMerger 实际需映射表,当前仅实现描述模糊匹配
适合人群
| 角色 | 场景 |
|------|------|
| 数据工程师 | 多源 ETL 管道搭建 |
| BIM 经理 | 模型数据与进度/成本系统对接 |
| 成本估算师 | QTO 与造价数据库整合 |
| 研究分析师 | 施工传感器数据与 BIM 关联分析 |
常规风险
| 风险等级 | 说明 |
|----------|------|
| **数据泄露** | 合并操作在内存执行,需注意敏感成本数据的环境隔离 |
| **匹配错误** | 模糊匹配可能导致成本误算,建议关键字段保留 `_merge` 指示器复核 |
| **性能瓶颈** | O(n×m) 模糊匹配在大表(>10万行)时显著变慢 |