Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gaufung/lmdi
LMDI 数据分析
https://github.com/gaufung/lmdi
lmdi
Last synced: 10 days ago
JSON representation
LMDI 数据分析
- Host: GitHub
- URL: https://github.com/gaufung/lmdi
- Owner: gaufung
- License: mit
- Created: 2017-01-11T03:00:31.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2018-09-27T06:40:50.000Z (about 6 years ago)
- Last Synced: 2023-10-20T19:57:17.807Z (about 1 year ago)
- Topics: lmdi
- Language: Python
- Size: 244 KB
- Stars: 8
- Watchers: 2
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PDA 分析
## 1 依赖第三方包
+ `xlrd` : excel 读取包
+ `xlwt` : excel 写入包
+ `pulp` : 线性规划包
+ `numpy` : 矩阵计算包
+ `pandas` : 数据分析包## 2 模块
### 2.1 Model 模块
+ `Energy` : 能源模块
+ `name` : 省份名称
+ `energy` : 集合对象,包含各个能源消耗,最后一个元素为总计
+ `total` : 能源总计
+ `Co2` : Co2模块
+ `name` : 省份名称
+ `co2` : 集合对象,包含各个Co2排放,最后一个元素为总计
+ `total` : Co2 总计
+ `Production` : 产值模块
+ `name` : 省份名称
+ `prodcution` : 该省份的产值### 2.2 Dmu 模块
+ `name` : 省份名称
+ `ene` : 能源
+ `co2` : co2 排放
+ `Pro` : 产出### 2.3 DataRead 模块
*read_dmus* 从 excel 表中读取某一个年份的所有的决策单元(decison making unit)
### 2.4 Algorithm 模块
+ `lambda_min` : 线性规划求最小值
+ `theta_max` : 线性规划求最大值### 2.5 LMDI 模块
计算相邻年份之间的lmdi指数,包括 `cef`, `emx`, `pei`, `pis`, `isg`, `eue`, `est`, `yoe` 和 `yct`### 2.6 SinglePeriodAAM 模块
计算相邻年份之间的各个省份的各个指数的归因### 2.7 MultiPeriodAAM 模块
计算跨年份的之间各个省份的各个指数的归因### 2.8 WriteData 模块
按照年份输出结果### 2.9 config 模块
配置文件## 3 测试
所有测试模块以 `Test` 开头,测试框架为 unitest.## 4 重构历史
1. 2017年01月19日: 重构LMDI,增加缓存功能
2. 2017年01月20日: 重构Spaam, 增加缓存功能,使得性能提高两个数量级
3. 2017年01月21日: 修改线性规划规则
4. 2017年01月22日: 修改部分指数的计算方法
5. 2017年01月28日: 修改文件组织结构,`PDA`, `Data`, `test` 和 `app` 四个组成部分
6. 2017年02月10日: 使用装饰器,将线性规划的结果转换为取倒数
7. 2017年02月11日: 增加another分支,增加另外线性规划方案
8. 2017年02月16日: 增加交通部门数据
9. 2017年02月17日: 使用getattr函数,重构整个代码,使得代码量减半