80 KiB
80 KiB
In [1]:
import pandas as pd import numpy as np import matplotlib.pyplot as plt #新增加的两行 from pylab import mpl # 设置显示中文字体 mpl.rcParams["font.sans-serif"] = ["SimHei"] mpl.rcParams["axes.unicode_minus"] = False
In [2]:
zjxz_daily = pd.read_excel('./data/机器学习样表.xlsx', sheet_name=0, header=[0, 1]) old_cols = zjxz_daily.columns new_cols = [x[0].strip() if 'Unnamed' in x[1] else x[0] + '_' + x[1] for x in old_cols] zjxz_daily.columns = new_cols zjxz_daily.head()
Out[2]:
日期 | 企业名称 | 地址 | 省份 | 经度 | 纬度 | 烟囱高度(m) | 脱硝工艺 | 脱硝剂名称 | 脱硝设备数量 | ... | 供热量(吉焦) | 产渣量(吨) | 机组运行时间(小时) | 硫分(%) | 脱硫副产品产量(吨) | 脱硫剂使用量(吨) | 脱硫设施运行时间(小时) | 脱硝还原剂消耗量(吨) | 脱硝运行时间(小时) | 燃料消耗量(吨) | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 2018-10-01 | 浙江秀舟热电有限公司 | 嘉兴市南湖区凤桥镇 | 浙江省 | 120°51′5.54″ | 30°39′14.76″ | 80 | SNCR SCR | 氨水 | 3 | ... | 6536.83 | NaN | 24.0 | 0.51 | NaN | 5.06 | 24.0 | 2.98 | 24.0 | 323 |
1 | 2018-10-02 | 浙江秀舟热电有限公司 | 嘉兴市南湖区凤桥镇 | 浙江省 | 120°51′5.54″ | 30°39′14.76″ | 80 | SNCR SCR | 氨水 | 3 | ... | 2484.64 | NaN | 24.0 | 0.51 | NaN | 5.04 | 24.0 | 2.97 | 24.0 | 218 |
2 | 2018-10-03 | 浙江秀舟热电有限公司 | 嘉兴市南湖区凤桥镇 | 浙江省 | 120°51′5.54″ | 30°39′14.76″ | 80 | SNCR SCR | 氨水 | 3 | ... | 3020.83 | NaN | 24.0 | 0.51 | NaN | 5.04 | 24.0 | 2.95 | 24.0 | 212 |
3 | 2018-10-04 | 浙江秀舟热电有限公司 | 嘉兴市南湖区凤桥镇 | 浙江省 | 120°51′5.54″ | 30°39′14.76″ | 80 | SNCR SCR | 氨水 | 3 | ... | 5599.23 | NaN | 24.0 | 0.51 | 72.52 | 5.03 | 24.0 | 2.98 | 24.0 | 223 |
4 | 2018-10-05 | 浙江秀舟热电有限公司 | 嘉兴市南湖区凤桥镇 | 浙江省 | 120°51′5.54″ | 30°39′14.76″ | 80 | SNCR SCR | 氨水 | 3 | ... | 4702.65 | NaN | 24.0 | 0.51 | NaN | 5.06 | 24.0 | 3.01 | 24.0 | 243 |
5 rows × 44 columns
In [3]:
zjxz_daily_data = zjxz_daily[['日期', '企业名称', '发电量(千瓦时)', '供热量(吉焦)', '燃料消耗量(吨)']].copy()
In [37]:
xswx_daily = pd.read_excel('./data/机器学习样表.xlsx', sheet_name=3) xswx_daily.columns
Out[37]:
Index(['企业名称', '地址', '省份', '经度', '纬度', '烟囱高度(m)', '机组数量', '单机容量(MW)', '生产设备类型', '锅炉额定蒸发量 t/h ', '汽轮机类型', '压力参数', '冷却方式', '脱硝工艺', '脱硫工艺', '除尘工艺', 'Unnamed: 16', '日期', '机组编号', '投产日期', '燃煤干燥无灰基挥发分vda(%)', '入炉煤低位发热量(GJ/t)', '入炉煤消耗量发电(吨)', '入炉煤消耗量供热(吨)', '脱硝还原剂使用量a侧(吨)', '脱硝还原剂使用量b侧(吨)', '脱硝设施运行时间a侧(小时)', '脱硝设施运行时间b侧(小时)', '发电量', '供热量(吉焦)', '机组运行时间', '硫分(%)', '脱硫副产品产量(吨)', '脱硫剂使用量(吨)', '脱硫设施运行时间(小时)', '脱硝还原剂消耗量(吨)', '燃料消耗量(吨)', '石灰石总量(吨)', 'Unnamed: 38', 'Unnamed: 39', '日期.1', '机组编号.1', '投产日期.1', '燃煤干燥无灰基挥发分vda(%).1', '入炉煤低位发热量(GJ/t).1', '入炉煤消耗量发电(吨).1', '入炉煤消耗量供热(吨).1', '脱硝还原剂使用量a侧(吨).1', '脱硝还原剂使用量b侧(吨).1', '脱硝设施运行时间a侧(小时).1', '脱硝设施运行时间b侧(小时).1', '发电量(万千瓦时)', '供热量(吉焦)', '机组运行时间(小时)', '硫分(%).1', '脱硫副产品产量(吨).1', '脱硫剂使用量(吨).1', '脱硫设施运行时间(小时).1', '脱硝还原剂消耗量(吨).1', '燃料消耗量(吨).1', '石灰石总量(吨).1'], dtype='object')
In [38]:
xswx_daily_unit_1 = xswx_daily[xswx_daily['日期'] >= '2021-01-01'][['日期', '发电量', '供热量(吉焦)', '燃料消耗量(吨)']].copy() xswx_daily_unit_1.columns = ['days', "发电量_1(万千瓦时)", '供热量_1(吉焦)', '燃料消耗量_1(吨)'] xswx_daily_unit_2 = xswx_daily[xswx_daily['日期.1'] >= '2021-01-01'][ ['日期.1', '发电量(万千瓦时)', '供热量(吉焦)', '燃料消耗量(吨).1']].copy() xswx_daily_unit_2.columns = ['days', "发电量_2(万千瓦时)", '供热量_2(吉焦)', '燃料消耗量_2(吨)'] xswx_daily_unit_2.tail(2)
Out[38]:
days | 发电量_2(万千瓦时) | 供热量_2(吉焦) | 燃料消耗量_2(吨) | |
---|---|---|---|---|
149 | 2021-05-30 | 1033 | 0.0 | 4763.4 |
150 | 2021-05-31 | 909 | 0.0 | 4516.5 |
In [39]:
min_start = min(xswx_daily_unit_1.days.min(), xswx_daily_unit_2.days.min()) max_end = max(xswx_daily_unit_1.days.max(), xswx_daily_unit_2.days.max()) date_range = pd.date_range(min_start, max_end, freq='D') date_range
Out[39]:
DatetimeIndex(['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04', '2021-01-05', '2021-01-06', '2021-01-07', '2021-01-08', '2021-01-09', '2021-01-10', ... '2021-05-22', '2021-05-23', '2021-05-24', '2021-05-25', '2021-05-26', '2021-05-27', '2021-05-28', '2021-05-29', '2021-05-30', '2021-05-31'], dtype='datetime64[ns]', length=151, freq='D')
In [40]:
xswx_daily_unit_1 = xswx_daily_unit_1.set_index('days').reindex(date_range).fillna(0) xswx_daily_unit_2 = xswx_daily_unit_2.set_index('days').reindex(date_range).fillna(0)
In [42]:
xswx_daily_data = pd.concat([xswx_daily_unit_1, xswx_daily_unit_2], axis=1)
In [44]:
xswx_daily_data['企业名称'] = '武乡西山发电有限责任公司' xswx_daily_data['发电量(万千瓦时)'] = xswx_daily_data['发电量_1(万千瓦时)'] + xswx_daily_data['发电量_2(万千瓦时)'] xswx_daily_data['供热量(吉焦)'] = xswx_daily_data['供热量_1(吉焦)'] + xswx_daily_data['供热量_2(吉焦)'] xswx_daily_data['燃料消耗量(吨)'] = xswx_daily_data['燃料消耗量_1(吨)'] + xswx_daily_data['燃料消耗量_2(吨)']
In [46]:
xswx_daily_data
Out[46]:
发电量_1(万千瓦时) | 供热量_1(吉焦) | 燃料消耗量_1(吨) | 发电量_2(万千瓦时) | 供热量_2(吉焦) | 燃料消耗量_2(吨) | 企业名称 | 发电量(万千瓦时) | 供热量(吉焦) | 燃料消耗量(吨) | |
---|---|---|---|---|---|---|---|---|---|---|
2021-01-01 | 952.0 | 11032.5 | 5478.8 | 893 | 0.0 | 4689.7 | 武乡西山发电有限责任公司 | 1845.0 | 11032.5 | 10168.5 |
2021-01-02 | 1127.0 | 11180.5 | 6125.4 | 1061 | 0.0 | 5455.5 | 武乡西山发电有限责任公司 | 2188.0 | 11180.5 | 11580.9 |
2021-01-03 | 1051.0 | 11197.7 | 5717.6 | 1053 | 0.0 | 4060.5 | 武乡西山发电有限责任公司 | 2104.0 | 11197.7 | 9778.1 |
2021-01-04 | 1179.0 | 11146.6 | 6172.5 | 1237 | 0.0 | 5574.7 | 武乡西山发电有限责任公司 | 2416.0 | 11146.6 | 11747.2 |
2021-01-05 | 1142.0 | 10922.4 | 6053.3 | 1082 | 0.0 | 6363.9 | 武乡西山发电有限责任公司 | 2224.0 | 10922.4 | 12417.2 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
2021-05-27 | 0.0 | 0.0 | 0.0 | 1192 | 0.0 | 5684.3 | 武乡西山发电有限责任公司 | 1192.0 | 0.0 | 5684.3 |
2021-05-28 | 0.0 | 0.0 | 0.0 | 1159 | 0.0 | 5349.3 | 武乡西山发电有限责任公司 | 1159.0 | 0.0 | 5349.3 |
2021-05-29 | 0.0 | 0.0 | 0.0 | 998 | 0.0 | 4851.2 | 武乡西山发电有限责任公司 | 998.0 | 0.0 | 4851.2 |
2021-05-30 | 0.0 | 0.0 | 0.0 | 1033 | 0.0 | 4763.4 | 武乡西山发电有限责任公司 | 1033.0 | 0.0 | 4763.4 |
2021-05-31 | 0.0 | 0.0 | 0.0 | 909 | 0.0 | 4516.5 | 武乡西山发电有限责任公司 | 909.0 | 0.0 | 4516.5 |
151 rows × 10 columns
In [103]:
xswx_emiss_data = pd.read_excel('data/机器学习样表_单位换算.xlsx', sheet_name=2) xswx_emiss_data
Out[103]:
Unnamed: 0 | Unnamed: 1 | 监控点名称 | 二氧化硫浓度(mg/m3) | 氮氧化物浓度(mg/m3) | 烟尘浓度(mg/m3) | 流速(m/s) | 流量(m3/h) | Unnamed: 8 | Unnamed: 9 | ... | Unnamed: 14 | 监控点名称.1 | 二氧化硫浓度(mg/m3).1 | 氮氧化物浓度(mg/m3).1 | 烟尘浓度(mg/m3).1 | 流速(m/s).1 | 流量(m3/h).1 | Unnamed: 21 | Unnamed: 22 | 状态.1 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 2021.1.1 | 武乡西山发电有限责任公司 | 1号炉废气排放口 | 20.15 | 31.49 | 2.49 | 11.24 | 1558502.96 | NaN | NaN | ... | 武乡西山发电有限责任公司 | 2号炉废气排放口 | 22.00 | 33.09 | 2.25 | 5.00 | 731609.00 | NaN | NaN | 正常运行 |
1 | 2021.1.2 | 武乡西山发电有限责任公司 | 1号炉废气排放口 | 20.27 | 31.65 | 2.51 | 12.03 | 1648629.50 | NaN | NaN | ... | 武乡西山发电有限责任公司 | 2号炉废气排放口 | 20.45 | 34.37 | 2.37 | 9.18 | 1326387.42 | NaN | NaN | 正常运行 |
2 | 2021.1.3 | 武乡西山发电有限责任公司 | 1号炉废气排放口 | 19.72 | 31.68 | 2.50 | 12.11 | 1656682.63 | NaN | NaN | ... | 武乡西山发电有限责任公司 | 2号炉废气排放口 | 19.82 | 33.55 | 2.38 | 9.85 | 1417186.13 | NaN | NaN | 正常运行 |
3 | 2021.1.4 | 武乡西山发电有限责任公司 | 1号炉废气排放口 | 17.64 | 31.51 | 2.52 | 11.79 | 1610496.46 | NaN | NaN | ... | 武乡西山发电有限责任公司 | 2号炉废气排放口 | 20.18 | 32.47 | 2.39 | 9.07 | 1304455.88 | NaN | NaN | 正常运行 |
4 | 2021.1.5 | 武乡西山发电有限责任公司 | 1号炉废气排放口 | 18.66 | 31.72 | 2.50 | 11.97 | 1652330.08 | NaN | NaN | ... | 武乡西山发电有限责任公司 | 2号炉废气排放口 | 21.07 | 33.73 | 2.42 | 9.71 | 1390566.88 | NaN | NaN | 正常运行 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
113 | 2021.4.26 | 武乡西山发电有限责任公司 | 1号炉废气排放口 | 0.22 | 0.01 | 0.19 | 0.00 | 0.00 | NaN | NaN | ... | 武乡西山发电有限责任公司 | 2号炉废气排放口 | 18.31 | 35.41 | 2.03 | 9.59 | 1316204.83 | NaN | NaN | 正常运行 |
114 | 2021.4.27 | 武乡西山发电有限责任公司 | 1号炉废气排放口 | 0.00 | 0.01 | 0.21 | 0.00 | 0.00 | NaN | NaN | ... | 武乡西山发电有限责任公司 | 2号炉废气排放口 | 0.14 | 0.43 | 0.08 | 1.44 | 193474.61 | NaN | NaN | 停运 |
115 | 2021.4.28 | 武乡西山发电有限责任公司 | 1号炉废气排放口 | 0.01 | 0.00 | 0.25 | 0.00 | 0.00 | NaN | NaN | ... | 武乡西山发电有限责任公司 | 2号炉废气排放口 | 0.00 | 0.01 | 0.09 | 2.69 | 467356.96 | NaN | NaN | 停运 |
116 | 2021.4.29 | 武乡西山发电有限责任公司 | 1号炉废气排放口 | 0.00 | 0.01 | 0.26 | 0.00 | 0.00 | NaN | NaN | ... | 武乡西山发电有限责任公司 | 2号炉废气排放口 | 0.01 | 0.05 | 0.07 | 2.30 | 401366.08 | NaN | NaN | 停运 |
117 | 2021.4.30 | 武乡西山发电有限责任公司 | 1号炉废气排放口 | 0.00 | 0.02 | 0.56 | 0.00 | 0.00 | NaN | NaN | ... | 武乡西山发电有限责任公司 | 2号炉废气排放口 | 3.96 | 22.90 | 0.68 | 6.09 | 932694.63 | NaN | NaN | 停运 |
118 rows × 24 columns
In [104]:
xswx_emiss_data_1 = xswx_emiss_data[np.array(xswx_emiss_data.columns)[[0, 3, 4, 5, 6, 7, 10]]].copy() xswx_emiss_data_2 = xswx_emiss_data[np.array(xswx_emiss_data.columns)[[13, 16, 17, 18, 19, 20, 23]]].copy() xswx_emiss_data_1
Out[104]:
Unnamed: 0 | 二氧化硫浓度(mg/m3) | 氮氧化物浓度(mg/m3) | 烟尘浓度(mg/m3) | 流速(m/s) | 流量(m3/h) | 状态 | |
---|---|---|---|---|---|---|---|
0 | 2021.1.1 | 20.15 | 31.49 | 2.49 | 11.24 | 1558502.96 | 正常运行 |
1 | 2021.1.2 | 20.27 | 31.65 | 2.51 | 12.03 | 1648629.50 | 正常运行 |
2 | 2021.1.3 | 19.72 | 31.68 | 2.50 | 12.11 | 1656682.63 | 正常运行 |
3 | 2021.1.4 | 17.64 | 31.51 | 2.52 | 11.79 | 1610496.46 | 正常运行 |
4 | 2021.1.5 | 18.66 | 31.72 | 2.50 | 11.97 | 1652330.08 | 正常运行 |
... | ... | ... | ... | ... | ... | ... | ... |
113 | 2021.4.26 | 0.22 | 0.01 | 0.19 | 0.00 | 0.00 | 停运 |
114 | 2021.4.27 | 0.00 | 0.01 | 0.21 | 0.00 | 0.00 | 停运 |
115 | 2021.4.28 | 0.01 | 0.00 | 0.25 | 0.00 | 0.00 | 停运 |
116 | 2021.4.29 | 0.00 | 0.01 | 0.26 | 0.00 | 0.00 | 停运 |
117 | 2021.4.30 | 0.00 | 0.02 | 0.56 | 0.00 | 0.00 | 停运 |
118 rows × 7 columns
In [105]:
xswx_emiss_data_1.columns = ['days'] + xswx_emiss_data_1.columns[1:].tolist() xswx_emiss_data_2.columns = xswx_emiss_data_1.columns.tolist()
In [106]:
xswx_emiss_data_1.index = pd.to_datetime(xswx_emiss_data_1.days)
In [107]:
xswx_emiss_data_2.index = pd.to_datetime(xswx_emiss_data_2.days)
In [108]:
xswx_emiss_data_1.drop(columns=['days'], inplace=True) xswx_emiss_data_2.drop(columns=['days'], inplace=True)
In [109]:
xswx_emiss_data_1.columns = [f'机组1_{x}' for x in xswx_emiss_data_1.columns] xswx_emiss_data_2.columns = [f'机组2_{x}' for x in xswx_emiss_data_2.columns]
In [110]:
xswx_emiss_data_1.reset_index().days.value_counts()
Out[110]:
2021-01-01 1 2021-03-17 1 2021-03-29 1 2021-03-28 1 2021-03-27 1 .. 2021-02-05 1 2021-02-04 1 2021-02-03 1 2021-02-02 1 2021-04-30 1 Name: days, Length: 118, dtype: int64
In [112]:
pd.concat([xswx_daily_data, xswx_emiss_data_1, xswx_emiss_data_2], axis=1)
Out[112]:
发电量_1(万千瓦时) | 供热量_1(吉焦) | 燃料消耗量_1(吨) | 发电量_2(万千瓦时) | 供热量_2(吉焦) | 燃料消耗量_2(吨) | 企业名称 | 发电量(万千瓦时) | 供热量(吉焦) | 燃料消耗量(吨) | ... | 机组1_烟尘浓度(mg/m3) | 机组1_流速(m/s) | 机组1_流量(m3/h) | 机组1_状态 | 机组2_二氧化硫浓度(mg/m3) | 机组2_氮氧化物浓度(mg/m3) | 机组2_烟尘浓度(mg/m3) | 机组2_流速(m/s) | 机组2_流量(m3/h) | 机组2_状态 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2021-01-01 | 952.0 | 11032.5 | 5478.8 | 893 | 0.0 | 4689.7 | 武乡西山发电有限责任公司 | 1845.0 | 11032.5 | 10168.5 | ... | 2.49 | 11.24 | 1558502.96 | 正常运行 | 22.00 | 33.09 | 2.25 | 5.00 | 731609.00 | 正常运行 |
2021-01-02 | 1127.0 | 11180.5 | 6125.4 | 1061 | 0.0 | 5455.5 | 武乡西山发电有限责任公司 | 2188.0 | 11180.5 | 11580.9 | ... | 2.51 | 12.03 | 1648629.50 | 正常运行 | 20.45 | 34.37 | 2.37 | 9.18 | 1326387.42 | 正常运行 |
2021-01-03 | 1051.0 | 11197.7 | 5717.6 | 1053 | 0.0 | 4060.5 | 武乡西山发电有限责任公司 | 2104.0 | 11197.7 | 9778.1 | ... | 2.50 | 12.11 | 1656682.63 | 正常运行 | 19.82 | 33.55 | 2.38 | 9.85 | 1417186.13 | 正常运行 |
2021-01-04 | 1179.0 | 11146.6 | 6172.5 | 1237 | 0.0 | 5574.7 | 武乡西山发电有限责任公司 | 2416.0 | 11146.6 | 11747.2 | ... | 2.52 | 11.79 | 1610496.46 | 正常运行 | 20.18 | 32.47 | 2.39 | 9.07 | 1304455.88 | 正常运行 |
2021-01-05 | 1142.0 | 10922.4 | 6053.3 | 1082 | 0.0 | 6363.9 | 武乡西山发电有限责任公司 | 2224.0 | 10922.4 | 12417.2 | ... | 2.50 | 11.97 | 1652330.08 | 正常运行 | 21.07 | 33.73 | 2.42 | 9.71 | 1390566.88 | 正常运行 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
2021-05-27 | 0.0 | 0.0 | 0.0 | 1192 | 0.0 | 5684.3 | 武乡西山发电有限责任公司 | 1192.0 | 0.0 | 5684.3 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2021-05-28 | 0.0 | 0.0 | 0.0 | 1159 | 0.0 | 5349.3 | 武乡西山发电有限责任公司 | 1159.0 | 0.0 | 5349.3 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2021-05-29 | 0.0 | 0.0 | 0.0 | 998 | 0.0 | 4851.2 | 武乡西山发电有限责任公司 | 998.0 | 0.0 | 4851.2 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2021-05-30 | 0.0 | 0.0 | 0.0 | 1033 | 0.0 | 4763.4 | 武乡西山发电有限责任公司 | 1033.0 | 0.0 | 4763.4 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
2021-05-31 | 0.0 | 0.0 | 0.0 | 909 | 0.0 | 4516.5 | 武乡西山发电有限责任公司 | 909.0 | 0.0 | 4516.5 | ... | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
151 rows × 22 columns
邯郸东郊¶
In [114]:
hddj_daily = pd.read_excel('data/机器学习样表_单位换算.xlsx', sheet_name=5) hddj_daily.columns
Out[114]:
Index(['企业名称', '地址', '省份', '经度', '纬度', '机组数量', '单机容量(MW)', '生产设备类型', '锅炉额定蒸发量 t/h ', '汽轮机类型', '压力参数', '冷却方式', '脱硝工艺', '脱硫工艺', '除尘工艺', '日期', '机组编号', '投产日期', '燃料类型', '低位发热量(GJ/t)', '产灰量(吨)', '发电量(万千瓦时)', '供热量', '产渣量', '机组运行时间', '发电煤耗(克/千瓦时)', '燃料消耗量(吨)', 'Unnamed: 27', '日期.1', '机组编号.1', '投产日期.1', '燃料类型.1', '低位发热量(GJ/t).1', '产灰量(吨).1', '发电量(万千瓦时).1', '供热量.1', '产渣量.1', '机组运行时间.1', '发电煤耗(克/千瓦时).1', '燃料消耗量(吨).1'], dtype='object')
In [116]:
hddj_daily_1 = hddj_daily[['日期', '发电量(万千瓦时)', '供热量', '燃料消耗量(吨)']].copy() hddj_daily_1.columns = ['days', "发电量_1(万千瓦时)", '供热量_1(吉焦)', '燃料消耗量_1(吨)'] hddj_daily_2 = hddj_daily[['日期.1', '发电量(万千瓦时).1', '供热量.1', '燃料消耗量(吨).1']].copy() hddj_daily_2.columns = ['days', "发电量_2(万千瓦时)", '供热量_2(吉焦)', '燃料消耗量_2(吨)']
In [118]:
min_start = min(hddj_daily_1.days.min(), hddj_daily_2.days.min()) max_end = max(hddj_daily_1.days.max(), hddj_daily_2.days.max()) date_range = pd.date_range(min_start, max_end, freq='D') date_range
Out[118]:
DatetimeIndex(['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04', '2022-01-05', '2022-01-06', '2022-01-07', '2022-01-08', '2022-01-09', '2022-01-10', '2022-01-11', '2022-01-12', '2022-01-13', '2022-01-14', '2022-01-15', '2022-01-16', '2022-01-17', '2022-01-18', '2022-01-19', '2022-01-20', '2022-01-21', '2022-01-22', '2022-01-23', '2022-01-24', '2022-01-25', '2022-01-26', '2022-01-27', '2022-01-28', '2022-01-29', '2022-01-30', '2022-01-31', '2022-02-01', '2022-02-02', '2022-02-03', '2022-02-04', '2022-02-05', '2022-02-06', '2022-02-07', '2022-02-08', '2022-02-09', '2022-02-10', '2022-02-11', '2022-02-12', '2022-02-13', '2022-02-14', '2022-02-15', '2022-02-16', '2022-02-17', '2022-02-18', '2022-02-19', '2022-02-20', '2022-02-21', '2022-02-22', '2022-02-23', '2022-02-24', '2022-02-25', '2022-02-26', '2022-02-27', '2022-02-28'], dtype='datetime64[ns]', freq='D')
In [119]:
hddj_daily_1 = hddj_daily_1.set_index('days').reindex(date_range).fillna(0) hddj_daily_2 = hddj_daily_2.set_index('days').reindex(date_range).fillna(0)
In [120]:
hddj_daily_1
Out[120]:
发电量_1(万千瓦时) | 供热量_1(吉焦) | 燃料消耗量_1(吨) | |
---|---|---|---|
2022-01-01 | 494.20 | 30829 | 2861 |
2022-01-02 | 554.30 | 32122 | 2536 |
2022-01-03 | 558.30 | 33451 | 2911 |
2022-01-04 | 529.70 | 33179 | 3023 |
2022-01-05 | 563.90 | 29731 | 3191 |
2022-01-06 | 561.00 | 32505 | 3357 |
2022-01-07 | 570.00 | 33189 | 3231 |
2022-01-08 | 526.80 | 31881 | 2765 |
2022-01-09 | 517.10 | 30799 | 2574 |
2022-01-10 | 512.80 | 29277 | 2512 |
2022-01-11 | 521.20 | 32460 | 2757 |
2022-01-12 | 543.32 | 33593 | 3132 |
2022-01-13 | 512.52 | 33326 | 2950 |
2022-01-14 | 495.42 | 31417 | 2755 |
2022-01-15 | 500.06 | 32434 | 2834 |
2022-01-16 | 527.93 | 31986 | 3182 |
2022-01-17 | 496.50 | 32268 | 3121 |
2022-01-18 | 529.31 | 31814 | 3241 |
2022-01-19 | 552.01 | 30414 | 3274 |
2022-01-20 | 544.00 | 32416 | 3594 |
2022-01-21 | 561.29 | 34300 | 3891 |
2022-01-22 | 574.00 | 38342 | 4276 |
2022-01-23 | 534.94 | 37444 | 3767 |
2022-01-24 | 543.91 | 34539 | 3175 |
2022-01-25 | 538.31 | 36753 | 3860 |
2022-01-26 | 529.59 | 34148 | 3749 |
2022-01-27 | 525.88 | 33630 | 3725 |
2022-01-28 | 545.06 | 34181 | 3866 |
2022-01-29 | 522.68 | 30637 | 3395 |
2022-01-30 | 509.69 | 34254 | 3101 |
2022-01-31 | 516.51 | 32145 | 2985 |
2022-02-01 | 500.46 | 25687 | 2662 |
2022-02-02 | 477.03 | 29061 | 2821 |
2022-02-03 | 439.93 | 29598 | 2779 |
2022-02-04 | 452.76 | 28709 | 2523 |
2022-02-05 | 508.35 | 30133 | 2884 |
2022-02-06 | 485.41 | 27635 | 2902 |
2022-02-07 | 469.75 | 28259 | 2939 |
2022-02-08 | 452.87 | 26685 | 2556 |
2022-02-09 | 470.87 | 26037 | 2691 |
2022-02-10 | 490.75 | 25530 | 2901 |
2022-02-11 | 467.50 | 24359 | 2790 |
2022-02-12 | 446.31 | 24180 | 2766 |
2022-02-13 | 466.12 | 25274 | 3054 |
2022-02-14 | 464.96 | 29338 | 2533 |
2022-02-15 | 466.40 | 27394 | 2611 |
2022-02-16 | 493.26 | 27639 | 2905 |
2022-02-17 | 495.53 | 30228 | 2894 |
2022-02-18 | 524.59 | 28126 | 3030 |
2022-02-19 | 466.49 | 27575 | 2470 |
2022-02-20 | 503.46 | 27424 | 2799 |
2022-02-21 | 521.02 | 26965 | 3098 |
2022-02-22 | 528.08 | 26886 | 3317 |
2022-02-23 | 533.95 | 25022 | 3174 |
2022-02-24 | 505.76 | 26727 | 3079 |
2022-02-25 | 445.43 | 21930 | 2580 |
2022-02-26 | 491.01 | 16645 | 2733 |
2022-02-27 | 465.33 | 17884 | 2862 |
2022-02-28 | 487.21 | 15457 | 3029 |
In [122]:
hddj_daily_data = pd.concat([hddj_daily_1, hddj_daily_2], axis=1)
In [125]:
hddj_emiss_data = pd.read_excel('data/机器学习样表_单位换算.xlsx', sheet_name=4) hddj_emiss_data.columns
Index(['时间', '企业名称', '监测点', '流量 (m3/h)', 'NOx浓度(mg/m3)', 'SO2浓度(mg/m3)', '烟尘浓度(mg/m3)', '含氧量(%)', '温度(℃)', '烟气湿度(%)', '烟气压力(千帕)', '烟气流速(m/s)', '状态', 'Unnamed: 13', '时间.1', '企业名称.1', '监测点.1', '流量 (m3/h).1', 'NOx浓度(mg/m3).1', 'SO2浓度(mg/m3).1', '烟尘浓度(mg/m3).1', '含氧量(%).1', '温度(℃).1', '烟气湿度(%).1', '烟气压力(千帕).1', '烟气流速(m/s).1', '状态.1'], dtype='object')
In [127]:
hddj_emiss_data.head(2)
Out[127]:
时间 | 企业名称 | 监测点 | 流量 (m3/h) | NOx浓度(mg/m3) | SO2浓度(mg/m3) | 烟尘浓度(mg/m3) | 含氧量(%) | 温度(℃) | 烟气湿度(%) | ... | 流量 (m3/h).1 | NOx浓度(mg/m3).1 | SO2浓度(mg/m3).1 | 烟尘浓度(mg/m3).1 | 含氧量(%).1 | 温度(℃).1 | 烟气湿度(%).1 | 烟气压力(千帕).1 | 烟气流速(m/s).1 | 状态.1 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 2022-01-01 00:00:00 | 国电电力邯郸东郊热电有限责任公司 | 1号机组排口DA002(DCS) | 930582.0 | 13.379 | 13.158 | 3.438 | 6.435 | 48.604 | 14.695 | ... | 1111474.8 | 18.171 | 18.171 | 0.476 | 7.065 | 48.307 | 13.253 | -0.012 | 13.693 | 停运 |
1 | 2022-01-01 01:00:00 | 国电电力邯郸东郊热电有限责任公司 | 1号机组排口DA002(DCS) | 891316.8 | 19.312 | 17.951 | 2.798 | 7.164 | 47.819 | 14.156 | ... | 1103194.8 | 20.524 | 22.773 | 0.479 | 7.130 | 48.887 | 13.734 | -0.021 | 13.691 | 停运 |
2 rows × 27 columns
In [126]:
hddj_emiss_data_1 = hddj_emiss_data[['时间', '流量 (m3/h)', 'NOx浓度(mg/m3)', 'SO2浓度(mg/m3)', '烟尘浓度(mg/m3)', '含氧量(%)', '温度(℃)', '烟气湿度(%)', '烟气压力(千帕)', '烟气流速(m/s)', '状态', ]].copy() hddj_emiss_data_2 = hddj_emiss_data[['时间.1', '流量 (m3/h).1', 'NOx浓度(mg/m3).1', 'SO2浓度(mg/m3).1', '烟尘浓度(mg/m3).1', '含氧量(%).1', '温度(℃).1', '烟气湿度(%).1', '烟气压力(千帕).1', '烟气流速(m/s).1', '状态.1']].copy()
In [128]:
hddj_emiss_data_1.columns = ['date'] + hddj_emiss_data_1.columns[1:].tolist() hddj_emiss_data_2.columns = hddj_emiss_data_1.columns.tolist()
In [129]:
hddj_emiss_data_1.columns = [f'机组1_{x}' for x in hddj_emiss_data_1.columns] hddj_emiss_data_2.columns = [f'机组2_{x}' for x in hddj_emiss_data_2.columns]
In [130]:
hddj_emiss_data_2
Out[130]:
机组2_date | 机组2_流量 (m3/h) | 机组2_NOx浓度(mg/m3) | 机组2_SO2浓度(mg/m3) | 机组2_烟尘浓度(mg/m3) | 机组2_含氧量(%) | 机组2_温度(℃) | 机组2_烟气湿度(%) | 机组2_烟气压力(千帕) | 机组2_烟气流速(m/s) | 机组2_状态 | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | 2022-01-01 00:00:00 | 1111474.8 | 18.171 | 18.171 | 0.476 | 7.065 | 48.307 | 13.253 | -0.012 | 13.693 | 停运 |
1 | 2022-01-01 01:00:00 | 1103194.8 | 20.524 | 22.773 | 0.479 | 7.130 | 48.887 | 13.734 | -0.021 | 13.691 | 停运 |
2 | 2022-01-01 02:00:00 | 1086537.6 | 14.074 | 16.777 | 0.490 | 7.398 | 48.794 | 13.674 | -0.026 | 13.470 | 停运 |
3 | 2022-01-01 03:00:00 | 1076364.0 | 18.024 | 17.549 | 0.481 | 7.694 | 48.866 | 13.691 | -0.025 | 13.351 | 停运 |
4 | 2022-01-01 04:00:00 | 1066298.4 | 16.406 | 18.709 | 0.475 | 7.770 | 48.090 | 13.093 | -0.022 | 13.103 | 停运 |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
1411 | 2022-02-28 19:00:00 | 960645.6 | 11.857 | 17.406 | 0.415 | 7.353 | 48.755 | 14.155 | -0.009 | 11.975 | NaN |
1412 | 2022-02-28 20:00:00 | 1014156.0 | 19.930 | 19.709 | 0.420 | 7.532 | 48.974 | 13.962 | 0.007 | 12.621 | NaN |
1413 | 2022-02-28 21:00:00 | 967834.8 | 19.400 | 19.780 | 0.450 | 7.840 | 49.538 | 14.562 | 0.000 | 12.148 | NaN |
1414 | 2022-02-28 22:00:00 | 1014112.8 | 16.875 | 20.308 | 0.432 | 7.822 | 48.593 | 13.728 | 0.013 | 12.570 | NaN |
1415 | 2022-02-28 23:00:00 | 1013400.0 | 16.565 | 16.111 | 0.607 | 7.941 | 48.373 | 13.500 | 0.005 | 12.515 | NaN |
1416 rows × 11 columns