26 KiB
26 KiB
In [1]:
import pandas as pd import numpy as np
In [3]:
total_data = pd.read_csv('train_data.csv') total_data.head(3)
Out[3]:
电厂名称 | 机组编号 | 铭牌容量 (MW) | 机组类型 | 参数分类 | 冷凝器型式 | 入炉煤低位热值(kJ/kg) | 燃煤挥发份Var(%) | 燃煤灰份Aar(%) | 煤种 | 所处地区 | longitude | latitude | altitude | 发电碳排放因子(kg/kWh) | 供热碳排放因子(kg/MJ) | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 江苏利港电力有限公司 | 1 | 350.0 | 纯凝式 | 亚临界 | 水冷 | 21602.05000 | 26.09 | 16.80 | 烟煤 | 江苏省 | 120.09662 | 31.942361 | 1.0 | 0.586990 | 0.076843 |
1 | 江苏利港电力有限公司 | 1 | 350.0 | 纯凝式 | 亚临界 | 水冷 | 21926.81000 | 26.68 | 15.41 | 烟煤 | 江苏省 | 120.09662 | 31.942361 | 1.0 | 0.632859 | 0.077676 |
2 | 江苏利港电力有限公司 | 1 | 350.0 | 纯凝式 | 亚临界 | 水冷 | 21261.93062 | 26.46 | 15.18 | 烟煤 | 江苏省 | 120.09662 | 31.942361 | 1.0 | 0.609196 | 0.074823 |
In [23]:
total_data.shape
Out[23]:
(5741, 16)
In [4]:
unit_data = pd.read_excel('./data/煤电机组情况(含企业名称).xlsx') unit_data.head(3)
Out[4]:
发电类型 | 地区 | 城市 | 企业名称 | 机组编号 | 机组状态 | 机组数量 | 单机容量(MW) | 总容量(MW) | 核心设备类型 | 汽轮机类型 | 压力参数 | 冷却方式 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 煤电 | 安徽省 | 安庆市 | 国能神皖安庆发电有限责任公司 | 1 | 在役 | 1 | 320.0 | 320.0 | 煤粉锅炉 | 凝气式 | 亚临界 | 水冷-开式循环 |
1 | 煤电 | 安徽省 | 安庆市 | 国能神皖安庆发电有限责任公司 | 2 | 在役 | 1 | 320.0 | 320.0 | 煤粉锅炉 | 凝气式 | 亚临界 | 水冷-开式循环 |
2 | 煤电 | 安徽省 | 安庆市 | 国能神皖安庆发电有限责任公司 | 3 | 在役 | 1 | 1000.0 | 1000.0 | 煤粉锅炉 | 凝气式 | 超超临界 | 水冷-闭式循环 |
In [21]:
total_data.rename(columns={'电厂名称':'企业名称'}, inplace=True) total_data['机组编号'] = total_data['机组编号'].astype('str') unit_data['机组编号'] = unit_data['机组编号'].astype('str')
In [44]:
def change_type(x:str): if pd.isna(x): return x x = x.strip() if '纯凝' in x: return '纯凝式' if '供热' in x: return '供热式' if '煤粉' in x: return '煤粉锅炉' if x.startswith('循环流化床'): return '循环流化床锅炉' if '三废' in x: return '三废炉' if '直接空冷' in x: return '直接空冷' if '间接空冷' in x: return '间接空冷' return x
In [28]:
merge_data = total_data.merge(unit_data[['企业名称','机组编号','汽轮机类型', '压力参数', '冷却方式']], how='left', on=['企业名称', '机组编号'])
In [32]:
merge_data['机组类型'] = merge_data.apply(lambda x: x['机组类型'] if pd.isna(x['汽轮机类型']) else x['汽轮机类型'], axis=1)
In [34]:
merge_data['参数分类'] = merge_data.apply(lambda x: x['参数分类'] if pd.isna(x['压力参数']) else x['压力参数'], axis=1)
In [35]:
merge_data['冷凝器型式'] = merge_data.apply(lambda x: x['冷凝器型式'] if pd.isna(x['冷却方式']) else x['冷却方式'], axis=1)
In [37]:
merge_data['冷凝器型式'].value_counts()
Out[37]:
水冷-闭式循环 2143 水冷 1166 水冷-开式循环 1101 空冷-直接空冷 492 直接空冷 241 空冷-间接空冷 154 间接空冷 74 空冷 19 其他 2 Name: 冷凝器型式, dtype: int64
In [41]:
use_data = merge_data[merge_data.columns[:-3]].copy()
In [45]:
for col in ['机组类型', '参数分类', '冷凝器型式']: use_data[col] = use_data[col].apply(change_type)
In [46]:
use_data
Out[46]:
企业名称 | 机组编号 | 铭牌容量 (MW) | 机组类型 | 参数分类 | 冷凝器型式 | 入炉煤低位热值(kJ/kg) | 燃煤挥发份Var(%) | 燃煤灰份Aar(%) | 煤种 | 所处地区 | longitude | latitude | altitude | 发电碳排放因子(kg/kWh) | 供热碳排放因子(kg/MJ) | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 江苏利港电力有限公司 | 1 | 350.0 | 凝气式 | 亚临界 | 水冷-开式循环 | 21602.05000 | 26.09 | 16.80 | 烟煤 | 江苏省 | 120.096620 | 31.942361 | 1.0 | 0.586990 | 0.076843 |
1 | 江苏利港电力有限公司 | 1 | 350.0 | 凝气式 | 亚临界 | 水冷-开式循环 | 21926.81000 | 26.68 | 15.41 | 烟煤 | 江苏省 | 120.096620 | 31.942361 | 1.0 | 0.632859 | 0.077676 |
2 | 江苏利港电力有限公司 | 1 | 350.0 | 凝气式 | 亚临界 | 水冷-开式循环 | 21261.93062 | 26.46 | 15.18 | 烟煤 | 江苏省 | 120.096620 | 31.942361 | 1.0 | 0.609196 | 0.074823 |
3 | 江苏利港电力有限公司 | 1 | 350.0 | 凝气式 | 亚临界 | 水冷-开式循环 | 20840.00000 | 26.43 | 14.55 | 烟煤 | 江苏省 | 120.096620 | 31.942361 | 1.0 | 0.602178 | 0.081628 |
4 | 江苏利港电力有限公司 | 1 | 350.0 | 凝气式 | 亚临界 | 水冷-开式循环 | 20706.00000 | 26.43 | 14.96 | 烟煤 | 江苏省 | 120.096620 | 31.942361 | 1.0 | 0.590254 | 0.081103 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
5736 | 浙江浙能电力股份有限公司台州发电厂 | 8 | 350.0 | 凝气式 | 亚临界 | 水冷-开式循环 | 21973.00000 | 37.43 | 17.12 | 烟煤 | 浙江省 | 121.465840 | 28.704623 | 73.0 | 0.628300 | 0.078776 |
5737 | 浙江浙能电力股份有限公司台州发电厂 | 8 | 350.0 | 凝气式 | 亚临界 | 水冷-开式循环 | 21372.00000 | 39.87 | 18.01 | 烟煤 | 浙江省 | 121.465840 | 28.704623 | 73.0 | 0.595019 | 0.076622 |
5738 | 浙江浙能电力股份有限公司台州发电厂 | 8 | 350.0 | 凝气式 | 亚临界 | 水冷-开式循环 | 20856.00000 | 39.32 | 19.74 | 烟煤 | 浙江省 | 121.465840 | 28.704623 | 73.0 | 0.565718 | 0.074772 |
5739 | 榆能榆神热电有限公司 | 1 | 350.0 | 抽凝式 | 超临界 | 间接空冷 | 25514.00000 | 38.84 | 7.28 | 烟煤 | 陕西省 | 109.820265 | 38.304383 | 1151.0 | 0.664456 | 0.091482 |
5740 | 榆能榆神热电有限公司 | 2 | 350.0 | 抽凝式 | 超临界 | 间接空冷 | 25514.00000 | 38.84 | 7.28 | 烟煤 | 陕西省 | 109.820265 | 38.304383 | 1151.0 | 0.661759 | 0.091483 |
5741 rows × 16 columns
In [ ]: